Warning: include(/home/blog66rr/public_html/wp-content/plugins/hyper-cache/cache.php): failed to open stream: No such file or directory in /home/blog66rr/public_html/wp-content/advanced-cache.php on line 24

Warning: include(/home/blog66rr/public_html/wp-content/plugins/hyper-cache/cache.php): failed to open stream: No such file or directory in /home/blog66rr/public_html/wp-content/advanced-cache.php on line 24

Warning: include(): Failed opening '/home/blog66rr/public_html/wp-content/plugins/hyper-cache/cache.php' for inclusion (include_path='.:/opt/cpanel/ea-php70/root/usr/share/pear') in /home/blog66rr/public_html/wp-content/advanced-cache.php on line 24

Warning: Cannot modify header information - headers already sent by (output started at /home/blog66rr/public_html/wp-content/advanced-cache.php:24) in /home/blog66rr/public_html/wp-includes/rest-api/class-wp-rest-server.php on line 1723

Warning: Cannot modify header information - headers already sent by (output started at /home/blog66rr/public_html/wp-content/advanced-cache.php:24) in /home/blog66rr/public_html/wp-includes/rest-api/class-wp-rest-server.php on line 1723

Warning: Cannot modify header information - headers already sent by (output started at /home/blog66rr/public_html/wp-content/advanced-cache.php:24) in /home/blog66rr/public_html/wp-includes/rest-api/class-wp-rest-server.php on line 1723

Warning: Cannot modify header information - headers already sent by (output started at /home/blog66rr/public_html/wp-content/advanced-cache.php:24) in /home/blog66rr/public_html/wp-includes/rest-api/class-wp-rest-server.php on line 1723

Warning: Cannot modify header information - headers already sent by (output started at /home/blog66rr/public_html/wp-content/advanced-cache.php:24) in /home/blog66rr/public_html/wp-includes/rest-api/class-wp-rest-server.php on line 1723

Warning: Cannot modify header information - headers already sent by (output started at /home/blog66rr/public_html/wp-content/advanced-cache.php:24) in /home/blog66rr/public_html/wp-includes/rest-api/class-wp-rest-server.php on line 1723

Warning: Cannot modify header information - headers already sent by (output started at /home/blog66rr/public_html/wp-content/advanced-cache.php:24) in /home/blog66rr/public_html/wp-includes/rest-api/class-wp-rest-server.php on line 1723

Warning: Cannot modify header information - headers already sent by (output started at /home/blog66rr/public_html/wp-content/advanced-cache.php:24) in /home/blog66rr/public_html/wp-includes/rest-api/class-wp-rest-server.php on line 1723
{"id":274,"date":"2013-07-08T09:32:04","date_gmt":"2013-07-08T01:32:04","guid":{"rendered":"http:\/\/blog.unethost.com\/?p=274"},"modified":"2014-04-16T18:09:47","modified_gmt":"2014-04-16T10:09:47","slug":"ramdisk_enabled_minecraft_server","status":"publish","type":"post","link":"https:\/\/blog.unethost.com\/ramdisk_enabled_minecraft_server\/","title":{"rendered":"\u5982\u4f55\u63d0\u5347minecraft server\u7684\u6548\u80fd\uff1f"},"content":{"rendered":"

\u53ef\u4ee5\u900f\u904eramdisk\u4f86\u89e3\u6c7aI\/O\u7684\u554f\u984c\u3002\u5177\u9ad4\u7684\u65b9\u6cd5\u5982\u4e0b\uff1a<\/p>\n

1 \u00a0#yum install java-1.7.0-openjdk
\n2\u00a0\u00a0https:\/\/minecraft.net\/download<\/a>
\n#wget\u00a0
https:\/\/s3.amazonaws.com\/MinecraftDownload\/launcher\/minecraft_server.jar<\/a><\/p>\n

Ramdisk
\n
http:\/\/www.minecraftwiki.net\/wiki\/Tutorials\/Ramdisk_enabled_server<\/a>
\n(1)\u5efa\u65b0\u7684user
\n#useradd mine<\/p>\n

\u4fee\u6539mine\u9019\u500buser\u7684\u5bc6\u78bc
\n#passwd \u00a0mine<\/p>\n

(2) \u5728\/home\/mine\u4e0b\uff0c\u5efa\u4e0b\u5217\u7684\u8cc7\u6599\u593e\u00a0minecraft\u00a0 minecraft_backups\u00a0 minecraft_ramdisk
\n#cd \/home\/mine
\n#mkdir minecraft
\n#mkdir minecraft_backups
\n#mkdir minecraft_ramdisk<\/p>\n

\u7136\u5f8c\u7528\u628aownership \u6539\u56de\u7d66mine\u9019\u500b\u4f7f\u7528\u8005
\n#chown -R mine.mine \/home\/mine\/*<\/p>\n

(3) \u7531\u9644\u52a0\u6a94\u6848minecraft\u7684\u5167\u5bb9
\n\u65b0\u589e\/etc\/init.d\/minecraft
\n#vim \/etc\/init.d\/minecraft \u00a0 ( \u8907\u88fd, \u8cbc\u4e0a )
\n#chmod +x \/etc\/init.d\/minecraft<\/p>\n

(4) \u4fee\u6539 \/etc\/init.d\/minecraft\u7684\u5167\u5bb9\uff0cusername\u6539\u6210mine\u3002( \u4fee\u6b63\u8def\u5f91 )\u00a0( \u4e0b\u65b9\u7684\u6a94\u6848\u5167\u5bb9\u4e2d\u5df2\u7d93\u505a\u6b64\u4fee\u6539\u3002)<\/p>\n

(5) #vim \/etc\/fstab
\n\u589e\u52a0\u4e00\u884c\uff1a
\ntmpfs\u00a0 \/home\/mine\/minecraft_ramdisk\u00a0tmpfs\u00a0 defaults,size=512m\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0<\/p>\n

(6) \u76f4\u63a5\u639b\u4e0aramdisk
\n#mount -t tmpfs none \/home\/mine\/minecraft_ramdisk\u00a0-o size=512m
\n\u4e0b df -h\u6307\u4ee4\u4f86\u6aa2\u67e5\u6709\u6c92\u6709\u8b8a\u5316\u3002
\n#df -h<\/p>\n

(7) \u4fee\u6539 cronjobs
\n#crontab -e<\/p>\n

*\/5 * * * * \/etc\/init.d\/minecraft\u00a0disksaverun
\n20 *\/6 * * * \/etc\/init.d\/minecraft\u00a0backup<\/p>\n

(9)\u52a0\u5165 system V style\u7684\u555f\u52d5script
\n#chkconfig –list
\n#chkconfig –add\u00a0minecraft
\n#service\u00a0minecraft\u00a0start<\/p>\n

(10) \u7b2c\u4e00\u6b21\u555f\u52d5minecraft\u00a0server \u4e4b\u5f8c\uff0cclient\u662f\u7121\u6cd5\u9023\u4e0a\u7684\u3002
\n\u9019\u500b\u539f\u56e0\u662f\u56e0\u70ba\/home\/mine\/minecraft_ramdisk\/server.properties \u9019\u500b\u6a94\u6848\u88e1\uff0c
\nonline-mode=true , \u9019\u6a23\u5b50\u7684\u8a71\uff0c\u53ea\u6709\u6b63\u7248\u624d\u53ef\u4ee5\u73a9\u3002
\n\u8981\u6539\u6210
\nonline-mode=false\uff0c\u9019\u6a23\u5b50\uff0c\u7834\u89e3\u7248\u624d\u53ef\u4ee5\u73a9\u3002<\/p>\n

(11) #service\u00a0minecraft\u00a0restart<\/p>\n

\u00a0\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ \u4e0b\u65b9\u662fminecraft server \u7684system V init script \/\/\/\/\/\/\/\/\/\/\/\/\/\/<\/div>\n
\n
#!\/bin\/bash\r\n\r\n# \/etc\/init.d\/minecraft\r\n# version 0.5 2011-09-24 (YYYY-MM-DD)\r\n\r\n### BEGIN INIT INFO\r\n# Provides: minecraft\r\n# Required-Start: $local_fs $remote_fs\r\n# Required-Stop: $local_fs $remote_fs\r\n# Should-Start: $network\r\n# Should-Stop: $network\r\n# Default-Start: 2 3 4 5\r\n# Default-Stop: 0 1 6\r\n# Short-Description: Minecraft server\r\n# Description: Starts the minecraft server\r\n### END INIT INFO\r\n\r\n#Settings\r\nSERVICE='minecraft_server.jar'\r\nUSERNAME=\"mine\"\r\nMCSTORE=\"\/home\/$USERNAME\/minecraft\"\r\nMCPATH=\"\/home\/$USERNAME\/minecraft_ramdisk\"\r\nCPU_COUNT=1\r\nINVOCATION=\"java -Xmx2048M -Xms2048M -server -jar $SERVICE nogui\"\r\nBACKUPPATH=\"\/home\/$USERNAME\/minecraft_backups\/\"\r\nME=`whoami`\r\nas_user() {\r\nif [ \"$ME\" == \"$USERNAME\" ] ; then\r\nbash -c \"$1\"\r\nelse\r\nsu - $USERNAME -c \"$1\"\r\nfi\r\n}\r\n\r\nmc_start() {\r\nif ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > \/dev\/null\r\nthen\r\necho \"Tried to start but $SERVICE was already running!\"\r\nelse\r\necho \"$SERVICE was not running... starting.\"\r\ncd $MCPATH\r\nif [ ! -f \"$MCPATH\/minecraft_server.jar\" ]\r\nthen\r\necho \"Ram drive empty... prepping.\"\r\nas_user \"cp -R $MCSTORE\/* $MCPATH\/\"\r\nfi\r\nas_user \"cd $MCPATH && screen -dmS minecraft $INVOCATION\"\r\nsleep 7\r\nif ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > \/dev\/null\r\nthen\r\necho \"$SERVICE is now running.\"\r\nelse\r\necho \"Could not start $SERVICE.\"\r\nfi\r\nfi\r\n}\r\n\r\nmc_saveoff() {\r\nif ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > \/dev\/null\r\nthen\r\necho \"$SERVICE is running... suspending saves\"\r\nas_user \"screen -p 0 -S minecraft -X eval 'stuff \\\"say SERVER BACKUP STARTING. Server going readonly...\\\"\\015'\"\r\nas_user \"screen -p 0 -S minecraft -X eval 'stuff \\\"save-off\\\"\\015'\"\r\nas_user \"screen -p 0 -S minecraft -X eval 'stuff \\\"save-all\\\"\\015'\"\r\nsync\r\nsleep 10\r\nelse\r\necho \"$SERVICE was not running. Not suspending saves.\"\r\nfi\r\n}\r\n\r\nmc_saveon() {\r\nif ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > \/dev\/null\r\nthen\r\necho \"$SERVICE is running... re-enabling saves\"\r\nas_user \"screen -p 0 -S minecraft -X eval 'stuff \\\"save-on\\\"\\015'\"\r\nas_user \"screen -p 0 -S minecraft -X eval 'stuff \\\"say SERVER BACKUP ENDED. Server going read-write...\\\"\\015'\"\r\nelse\r\necho \"$SERVICE was not running. Not resuming saves.\"\r\nfi\r\n}\r\n\r\nmc_stop() {\r\nif ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > \/dev\/null\r\nthen\r\necho \"$SERVICE is running... stopping.\"\r\nas_user \"screen -p 0 -S minecraft -X eval 'stuff \\\"say SERVER SHUTTING DOWN IN 5 SECONDS. Saving map...\\\"\\015'\"\r\nas_user \"screen -p 0 -S minecraft -X eval 'stuff \\\"save-all\\\"\\015'\"\r\nsleep 5\r\nas_user \"screen -p 0 -S minecraft -X eval 'stuff \\\"stop\\\"\\015'\"\r\nsleep 5\r\nelse\r\necho \"$SERVICE was not running.\"\r\nfi\r\nif ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > \/dev\/null\r\nthen\r\necho \"$SERVICE could not be shut down... still running.\"\r\nelse\r\necho \"$SERVICE is shut down.\"\r\nfi\r\n}\r\nmc_update() {\r\nif ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > \/dev\/null\r\nthen\r\necho \"$SERVICE is running! Will not start update.\"\r\nelse\r\nMC_SERVER_URL=http:\/\/minecraft.net\/`wget -q -O - http:\/\/www.minecraft.net\/download.jsp | grep minecraft_server.jar\\ | cut -d \\\" -f 2`\r\nas_user \"cd $MCPATH && wget -q -O $MCPATH\/minecraft_server.jar.update $MC_SERVER_URL\"\r\nif [ -f $MCPATH\/minecraft_server.jar.update ]\r\nthen\r\nif `diff $MCPATH\/minecraft_server.jar $MCPATH\/minecraft_server.jar.update >\/dev\/null`\r\nthen\r\necho \"You are already running the latest version of $SERVICE.\"\r\nelse\r\nas_user \"mv $MCPATH\/minecraft_server.jar.update $MCPATH\/minecraft_server.jar\"\r\necho \"Minecraft successfully updated.\"\r\nfi\r\nelse\r\necho \"Minecraft update could not be downloaded.\"\r\nfi\r\nfi\r\n}\r\n\r\nmc_backup() {\r\necho \"Backing up minecraft files\"\r\nif [ -f $BACKUPPATH\/MCBKUP_`date \"+%Y.%m.%d\"`.tar.gz ]\r\nthen\r\nfor 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\r\ndo\r\nif [ -f $BACKUPPATH\/MCBKUP_`date \"+%Y.%m.%d\"`-$i.tar.gz ]\r\nthen\r\ncontinue\r\nelse\r\nas_user \"cd $MCSTORE && tar zcf $BACKUPPATH\/MCBKUP_`date \"+%Y.%m.%d\"`-$i.tar.gz .\"\r\nbreak\r\nfi\r\ndone\r\nelse\r\nas_user \"cd $MCSTORE && tar zcf $BACKUPPATH\/MCBKUP_`date \"+%Y.%m.%d\"`.tar.gz .\"\r\nfi\r\necho \"Backup complete\"\r\n}\r\n\r\nmc_disksaverun() {\r\n\r\nif ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > \/dev\/null\r\nthen\r\necho \"Saving ramdrive to disk.\"\r\nif [ ! -f $MCPATH\/$SERVICE ]\r\nthen\r\necho \"Error.. Minecraft not in ram\"\r\nelse\r\nif [ -d $MCSTORE\/world2 ]\r\nthen\r\nas_user \"rm -r $MCSTORE\/world2\"\r\nfi\r\nif [ -d $MCSTORE\/world ]\r\nthen\r\nas_user \"mv $MCSTORE\/world $MCSTORE\/world2\"\r\nfi\r\n\r\nas_user \"screen -p 0 -S minecraft -X eval 'stuff \\\"save-off\\\"\\015'\"\r\nas_user \"screen -p 0 -S minecraft -X eval 'stuff \\\"save-all\\\"\\015'\"\r\nas_user \"cp -R $MCPATH\/* $MCSTORE\/\"\r\nas_user \"screen -p 0 -S minecraft -X eval 'stuff \\\"save-on\\\"\\015'\"\r\n\r\nif [ -d $MCSTORE\/world2 ]\r\nthen\r\nas_user \"rm -r $MCSTORE\/world2\"\r\nfi\r\nfi\r\nelse\r\necho \"Service is not running\"\r\nfi\r\n\r\n}\r\n\r\nmc_disksavehalt() {\r\necho \"Saving ramdrive to disk.\"\r\nif [ ! -f $MCPATH\/minecraft_server.jar ]\r\nthen\r\necho \"Error.. Minecraft not in ram\"\r\nelse\r\nif [ -d $MCSTORE\/world2 ]\r\nthen\r\nas_user \"rm -r $MCSTORE\/world2\"\r\nfi\r\nif [ -d $MCSTORE\/world ]\r\nthen\r\nas_user \"mv $MCSTORE\/world $MCSTORE\/world2\"\r\nfi\r\n\r\necho \"Saving, screen session closed\"\r\nas_user \"cp -R $MCPATH\/* $MCSTORE\/\"\r\n\r\nif [ -d $MCSTORE\/world2 ]\r\nthen\r\nas_user \"rm -r $MCSTORE\/world2\"\r\nfi\r\nfi\r\n}\r\n#Start-Stop here\r\ncase \"$1\" in\r\nstart)\r\nmc_start\r\n;;\r\nstop)\r\nmc_stop\r\nmc_disksavehalt\r\n;;\r\nrestart)\r\nmc_stop\r\nmc_disksavehalt\r\nmc_start\r\n;;\r\nupdate)\r\nmc_stop\r\nmc_backup\r\nmc_update\r\nmc_start\r\n;;\r\nbackup)\r\nmc_disksaverun\r\nmc_saveoff\r\nmc_backup\r\nmc_saveon\r\n;;\r\ndisksavehalt)\r\nmc_disksavehalt\r\n;;\r\ndisksaverun)\r\nmc_disksaverun\r\n;;\r\nstatus)\r\nif ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > \/dev\/null\r\nthen\r\necho \"$SERVICE is running.\"\r\nelse\r\necho \"$SERVICE is not running.\"\r\nfi\r\n;;\r\n\r\n*)\r\necho \"Usage: \/etc\/init.d\/minecraft {start|stop|update|backup|status|restart|disksaverun}\"\r\nexit 1\r\n;;\r\nesac\r\n\r\nexit 0<\/pre>\n<\/div>\n","protected":false},"excerpt":{"rendered":"

\u53ef\u4ee5\u900f\u904eramdisk\u4f86\u89e3\u6c7aI\/O\u7684\u554f\u984c\u3002\u5177\u9ad4\u7684\u65b9\u6cd5\u5982\u4e0b\uff1a 1 \u00a0#yum install java-1.7. … \u95b1\u8b80\u5168\u6587 \u5982\u4f55\u63d0\u5347minecraft server\u7684\u6548\u80fd\uff1f<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false},"categories":[4],"tags":[71,72],"_links":{"self":[{"href":"https:\/\/blog.unethost.com\/wp-json\/wp\/v2\/posts\/274"}],"collection":[{"href":"https:\/\/blog.unethost.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.unethost.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.unethost.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.unethost.com\/wp-json\/wp\/v2\/comments?post=274"}],"version-history":[{"count":9,"href":"https:\/\/blog.unethost.com\/wp-json\/wp\/v2\/posts\/274\/revisions"}],"predecessor-version":[{"id":637,"href":"https:\/\/blog.unethost.com\/wp-json\/wp\/v2\/posts\/274\/revisions\/637"}],"wp:attachment":[{"href":"https:\/\/blog.unethost.com\/wp-json\/wp\/v2\/media?parent=274"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.unethost.com\/wp-json\/wp\/v2\/categories?post=274"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.unethost.com\/wp-json\/wp\/v2\/tags?post=274"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}