Pereiti prie turinio

RAMdisk įrengimas minecraft serveriui


Rekomenduojami pranešimai

Sveiki,

Nusprendžiau paspartinti savo minecraft serverio veiklą. Ir radau štai tokią pamoką ramdisk įrengimui - http://www.minecraftwiki.net/wiki/Tutorials/Ramdisk_enabled_server . Tačiau, pastebėjau jog ši pamoka padaryta gerokai pažengusiems programuotojams arba minecraft serverių kūrėjams. Šį ramdisk pavyko įrengti, bet kaip visad iškilo ne didelių problemų.

Pagal idėja reikia turėti 3 atskiras direktorijas - minecraft, minecraft_ramdisk, miencraft_backup. Pirmoje direktorijoje turi gulėti minecraft serverio failai, antroje turi būti "world" katalogo failai, o trečiame turi siųstis žemėlapio kopijos. Na, pradėkime nuo to kad pas mane šiek tiek nesutampa, minecraft kataloge guli visas serveris kaip ir turi būti, bet antrame kažkas ne to, į minecraft_ramdisk direktorija kopijuojasi visi minecraft serverio failai, mano manymu to neturi būti. Tai klausimas bus toks dėl ko čia taip gali būti? Ką darau ne taip? Ir kas turėtų akyvaizdžiai pasikeisti? Iš anksto labai dėkoju už pagalbą.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Regis nematau jokių klaidų.

Mano shh configas:

#!/bin/bash
# /etc/init.d/minecraft
# version 0.5 2011-09-24 (YYYY-MM-DD)

### BEGIN INIT INFO
# Provides:   minecraft
# Required-Start: $local_fs $remote_fs
# Required-Stop:  $local_fs $remote_fs
# Should-Start:   $network
# Should-Stop:    $network
# Default-Start:  2 3 4 5
# Default-Stop:   0 1 6
# Short-Description:    Minecraft server
# Description:    Starts the minecraft server
### END INIT INFO

#Settings
SERVICE='craftbukkit-1.3.2-R0.1.jar'
USERNAME="root"
MCSTORE='/root/minecraft'
MCPATH='/root/minecraft_ramdisk'
CPU_COUNT=1
INVOCATION="java -Xmx6048M -Xms6048M -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=$CPU_COUNT -XX:+AggressiveOpts -jar $SERVICE nogui"
BACKUPPATH='/root/minecraft_backups/'


ME=`whoami`
as_user() {
 if [ "$ME" == "$USERNAME" ] ; then
   bash -c "$1"
 else
   su - $USERNAME -c "$1"
 fi
}

mc_start() {
 if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
 then
   echo "Tried to start but $SERVICE was already running!"
 else
   echo "$SERVICE was not running... starting."
   cd $MCPATH
   if [ ! -f "$MCPATH/craftbukkit-1.3.2-R0.1.jar" ]
   then 
     echo "Ram drive empty...  prepping."
     as_user "cp -R $MCSTORE/* $MCPATH/"
   fi
   as_user "cd $MCPATH && screen -dmS minecraft $INVOCATION"
   sleep 7
   if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
   then
     echo "$SERVICE is now running."
   else
     echo "Could not start $SERVICE."
   fi
 fi
}

mc_saveoff() {
       if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
       then
               echo "$SERVICE is running... suspending saves"
               as_user "screen -p 0 -S minecraft -X eval 'stuff \"say SERVER BACKUP STARTING. Server going readonly...\"\015'"
               as_user "screen -p 0 -S minecraft -X eval 'stuff \"save-off\"\015'"
               as_user "screen -p 0 -S minecraft -X eval 'stuff \"save-all\"\015'"
               sync
               sleep 10
       else
               echo "$SERVICE was not running. Not suspending saves."
       fi
}

mc_saveon() {
       if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
       then
               echo "$SERVICE is running... re-enabling saves"
               as_user "screen -p 0 -S minecraft -X eval 'stuff \"save-on\"\015'"
               as_user "screen -p 0 -S minecraft -X eval 'stuff \"say SERVER BACKUP ENDED. Server going read-write...\"\015'"
       else
               echo "$SERVICE was not running. Not resuming saves."
       fi
}

mc_stop() {
       if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
       then
               echo "$SERVICE is running... stopping."
               as_user "screen -p 0 -S minecraft -X eval 'stuff \"say SERVER SHUTTING DOWN IN 5 SECONDS. Saving map...\"\015'"
               as_user "screen -p 0 -S minecraft -X eval 'stuff \"save-all\"\015'"
               sleep 5
               as_user "screen -p 0 -S minecraft -X eval 'stuff \"stop\"\015'"
               sleep 5
       else
               echo "$SERVICE was not running."
       fi
       if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
       then
               echo "$SERVICE could not be shut down... still running."
       else
               echo "$SERVICE is shut down."
       fi
}


mc_update() {
 if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
 then
   echo "$SERVICE is running! Will not start update."
 else
   MC_SERVER_URL=http://minecraft.net/`wget -q -O - http://www.minecraft.net/download.jsp | grep craftbukkit-1.3.2-R0.1.jar\</a\> | cut -d \" -f 2`
   as_user "cd $MCPATH && wget -q -O $MCPATH/craftbukkit-1.3.2-R0.1.jar.update $MC_SERVER_URL"
   if [ -f $MCPATH/craftbukkit-1.3.2-R0.1.jar.update ]
   then
     if `diff $MCPATH/craftbukkit-1.3.2-R0.1.jar $MCPATH/craftbukkit-1.3.2-R0.1.jar.update >/dev/null`
       then 
         echo "You are already running the latest version of $SERVICE."
       else
         as_user "mv $MCPATH/craftbukkit-1.3.2-R0.1.jar.update $MCPATH/craftbukkit-1.3.2-R0.1.jar"
         echo "Minecraft successfully updated."
     fi
   else
     echo "Minecraft update could not be downloaded."
   fi
 fi
}

mc_backup() {
  echo "Backing up minecraft files"
  if [ -f $BACKUPPATH/MCBKUP_`date "+%Y.%m.%d"`.tar.gz ]
  then
    for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
    do
      if [ -f $BACKUPPATH/MCBKUP_`date "+%Y.%m.%d"`-$i.tar.gz ]
      then
        continue
      else
        as_user "cd $MCSTORE && tar zcf $BACKUPPATH/MCBKUP_`date "+%Y.%m.%d"`-$i.tar.gz ."
        break
      fi
    done
  else
    as_user "cd $MCSTORE && tar zcf $BACKUPPATH/MCBKUP_`date "+%Y.%m.%d"`.tar.gz ."
  fi
  echo "Backup complete"
}

mc_disksaverun() {

 if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
 then
  echo "Saving ramdrive to disk."
  if [ ! -f $MCPATH/$SERVICE ]
  then
    echo "Error.. Minecraft not in ram"
  else
    if [ -d $MCSTORE/world2 ]
    then
      as_user "rm -r $MCSTORE/world2"
    fi
    if [ -d $MCSTORE/world ]
    then
    as_user "mv $MCSTORE/world $MCSTORE/world2"
    fi

    as_user "screen -p 0 -S minecraft -X eval 'stuff \"save-off\"\015'"
    as_user "screen -p 0 -S minecraft -X eval 'stuff \"save-all\"\015'" 
    as_user "cp -R $MCPATH/* $MCSTORE/"
    as_user "screen -p 0 -S minecraft -X eval 'stuff \"save-on\"\015'"

    if [ -d $MCSTORE/world2 ]
    then
      as_user "rm -r $MCSTORE/world2"
    fi
  fi
 else
 echo "Service is not running"
fi

}

mc_disksavehalt() {
  echo "Saving ramdrive to disk."
  if [ ! -f $MCPATH/craftbukkit-1.3.2-R0.1.jar ]
  then 
    echo "Error.. Minecraft not in ram"
  else
    if [ -d $MCSTORE/world2 ]
    then
      as_user "rm -r $MCSTORE/world2"
    fi
    if [ -d $MCSTORE/world ]
    then
    as_user "mv $MCSTORE/world $MCSTORE/world2"
    fi

    echo "Saving, screen session closed"
    as_user "cp -R $MCPATH/* $MCSTORE/"

    if [ -d $MCSTORE/world2 ]
    then
      as_user "rm -r $MCSTORE/world2"
    fi
  fi


}


#Start-Stop here
case "$1" in
 start)
   mc_start
   ;;
 stop)
   mc_stop
   mc_disksavehalt
   ;;
 restart)
   mc_stop
   mc_disksavehalt
   mc_start
   ;;
 update)
   mc_stop
   mc_backup
   mc_update
   mc_start
   ;;
 backup)
   mc_disksaverun
   mc_saveoff
   mc_backup
   mc_saveon
   ;;
 disksavehalt)
   mc_disksavehalt
   ;;
 disksaverun)
   mc_disksaverun
   ;;
 status)
   if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
   then
     echo "$SERVICE is running."
   else
     echo "$SERVICE is not running."
   fi
   ;;

 *)
 echo "Usage: /etc/init.d/minecraft {start|stop|update|backup|status|restart|disksaverun}"
 exit 1
 ;;
esac

exit 0

Redagavo FiXmanish
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...