Warning: preg_match(): Unknown modifier '-' in /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php on line 783

Warning: preg_match(): Unknown modifier '-' in /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php on line 783

Warning: preg_match(): Unknown modifier '-' in /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php on line 783

Warning: preg_match(): Unknown modifier '-' in /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php on line 783

Warning: preg_match(): Unknown modifier '-' in /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php on line 783

Warning: preg_match(): Unknown modifier '-' in /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php on line 783

Warning: preg_match(): Unknown modifier '-' in /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php on line 783

Warning: preg_match(): Unknown modifier '-' in /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php on line 783

Warning: Cannot modify header information - headers already sent by (output started at /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php:783) in /home/akl1986/public_html/support/wp-includes/rest-api/class-wp-rest-server.php on line 1794

Warning: Cannot modify header information - headers already sent by (output started at /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php:783) in /home/akl1986/public_html/support/wp-includes/rest-api/class-wp-rest-server.php on line 1794

Warning: Cannot modify header information - headers already sent by (output started at /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php:783) in /home/akl1986/public_html/support/wp-includes/rest-api/class-wp-rest-server.php on line 1794

Warning: Cannot modify header information - headers already sent by (output started at /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php:783) in /home/akl1986/public_html/support/wp-includes/rest-api/class-wp-rest-server.php on line 1794

Warning: Cannot modify header information - headers already sent by (output started at /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php:783) in /home/akl1986/public_html/support/wp-includes/rest-api/class-wp-rest-server.php on line 1794

Warning: Cannot modify header information - headers already sent by (output started at /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php:783) in /home/akl1986/public_html/support/wp-includes/rest-api/class-wp-rest-server.php on line 1794

Warning: Cannot modify header information - headers already sent by (output started at /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php:783) in /home/akl1986/public_html/support/wp-includes/rest-api/class-wp-rest-server.php on line 1794

Warning: Cannot modify header information - headers already sent by (output started at /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php:783) in /home/akl1986/public_html/support/wp-includes/rest-api/class-wp-rest-server.php on line 1794
{"id":2212,"date":"2019-11-26T06:45:09","date_gmt":"2019-11-26T06:45:09","guid":{"rendered":"https:\/\/support.aklwebhost.com\/?post_type=manual_kb&p=2212"},"modified":"2019-12-05T23:58:35","modified_gmt":"2019-12-05T23:58:35","slug":"how-to-install-cuberite-on-a-centos-6-or-7-server","status":"publish","type":"manual_kb","link":"https:\/\/support.aklwebhost.com\/knowledgebase\/how-to-install-cuberite-on-a-centos-6-or-7-server\/","title":{"rendered":"How to Install Cuberite on a CentOS 6 or 7 Server"},"content":{"rendered":"

Introduction<\/strong><\/h2>\n

What is Cuberite?<\/strong><\/h3>\n

Cuberite<\/strong>\u00a0is a\u00a0scalable<\/strong>, open-source\u00a0Minecraft server<\/strong>\u00a0implementation that is written in C++. It has an easy-to-use plugin system that allows for users to write custom plugins with Lua and was originally created under the\u00a0MCServer<\/code>\u00a0name.<\/p>\n

Supported Platforms:<\/h4>\n

Cuberite<\/strong>\u00a0is multi-platform and will work with most Linux operating systems and Windows. This tutorial will only cover the installation of the server software on a\u00a0CentOS 6 or 7<\/strong>\u00a0installation. Like most\u00a0Minecraft<\/strong>\u00a0servers, plugins and other factors will contribute to a larger memory footprint. To start off, it is suggested that you have at least:<\/p>\n

    \n
  • One gigabyte of RAM<\/strong><\/li>\n
  • One CPU core<\/strong><\/li>\n<\/ul>\n

    Aklweb host offers these specifications for\u00a0$5<\/strong>\u00a0per month (including\u00a025 GB of SSD<\/strong>\u00a0and a terabyte of bandwidth).<\/p>\n

    Installation<\/strong><\/h2>\n

    Prerequisites<\/strong><\/h3>\n

    Before we begin, we have to make sure that the system is up to date and that we have an appropriate text editor. This will be necessary for configuring the server. We will also need the appropriate tools to build and compile the software.<\/p>\n

    Before we install anything, execute the command below to update your system:<\/p>\n

    yum update -y\r\n<\/code><\/pre>\n

    Now, we will install\u00a0nano<\/code>. (you may use\u00a0vim<\/code>\u00a0or any other editor you prefer):<\/p>\n

    yum install nano -y\r\n<\/code><\/pre>\n

    Once it finishes, run the following command to install\u00a0cmake<\/code>\u00a0(the compiler):<\/p>\n

    yum install cmake -y\r\n<\/code><\/pre>\n

    Now, install\u00a0screen<\/code>\u00a0(allows applications to run in the background):<\/p>\n

    yum install screen -y\r\n<\/code><\/pre>\n

    After\u00a0screen<\/code>\u00a0installs, you can proceed to the next section.<\/p>\n

    Running the installation script<\/strong><\/h3>\n

    Now that we have all the dependencies required for the installation to complete, we must retrieve the script. The commands below will create a new directory in\u00a0\/root<\/code>, or\u00a0~<\/code>.<\/p>\n

    cd ~ && mkdir server\r\ncd server\r\nwget -O install.sh https:\/\/compile.cuberite.org\r\n<\/code><\/pre>\n

    Now, you can run the installation script:<\/p>\n

    sh install.sh\r\n<\/code><\/pre>\n

    You will see the following message in your terminal:<\/p>\n

    [root@demo server]# sh install sh\r\nHello, this script will download and compile Cuberite.\r\nOn subsequent runs, it will update Cuberite.\r\nThe compilation and download will occur in the current directory.\r\nIf you're updating, you should run: <Path to Cuberite>\/compile.sh\r\nCompiling from srouce takes time, but it usually generates faster\r\nexecutables. If you prefer ready-to-use binaries or if you want\r\nmore info, please visit: https:\/\/cuberite.org\r\n\r\n   Choose compile mode:\r\n   *  (R)Release: Compiles normally.\r\n                  Generates the fastest build.\r\n   *  (D)Debug:   Compiles in debug mode.\r\n                  Makes your console and crashes more verbose.\r\n                  A bit slower than Release mode. If you plan to help\r\n                  development by reporting bugs, this is preferred.\r\n\r\nChoose compile mode: (r\/d) (Default: \"Release\"):\r\n<\/code><\/pre>\n

    When you see the above, just hit\u00a0ENTER<\/kbd>\u00a0on your keyboard.<\/p>\n

    You will now see the following:<\/p>\n

    Choose the number of compilation threads.\r\nYou have 2 CPU threads.\r\nIf you have enough RAM, it is wise to choose your CPU's thread count.\r\nOtherwise choose lower. Old Raspberry Pis should choose 1. If in doubt, choose 1\r\n.\r\nPlease enter the number of compilation threads to use (Default: 1):\r\n<\/code><\/pre>\n

    You may choose to use more threads for the compilation (depending on the instance you have). Apart from this, all you have to do is hit\u00a0ENTER<\/kbd>.<\/p>\n

    Once you’ve done so, you will be prompted with following message:<\/p>\n

    #### Settings Summary ####\r\nBuild Type:                    Release\r\nBranch:                        master (Currently the only choice)\r\nCompilation threads:           1\r\nCPU Threads:                   2\r\nPrevious Compilation:          Not detected. We are assuming this is the first compile.sh run.\r\nUpstream Link:                 https:\/\/github.com\/cuberite\/cuberite.git\r\nUpstream Repo:                 origin\r\n\r\nAfter pressing ENTER, the script will connect to https:\/\/github.com\/cuberite\/cuberite.git\r\nto check for updates and\/or fetch code. It will then compile your program.\r\nIf you compiled before, make sure you're in the proper directory and that \"Previous\r\ncompilation\" is detected.\r\nPress ENTER to continue...\r\n<\/code><\/pre>\n

    This is the final step before the compilation will start. You will be told to hit\u00a0ENTER<\/kbd>\u00a0to start the compilation. It will take roughly 15 minutes, depending on your system.<\/p>\n

    NOTE<\/strong>:\u00a0Don’t be alarmed if you see a bunch of text scrolling on your terminal. It will take some time for the system to fully compile the software into an executable package.<\/em><\/p>\n

    Once it completes, you will be greeted with the following message:<\/p>\n

    -----------------\r\nCompilation done!\r\n\r\nCuberite awaits you at:\r\n\/root\/server\/cuberite\/Server\/Cuberite\r\n\r\nYou can always update Cuberite by executing:\r\n\/root\/server\/cuberite\/compile.sh\r\n\r\nEnjoy :)\r\n<\/code><\/pre>\n

    This marks the end of the installation. You can proceed to the next section for the configuration of the server.<\/p>\n

    Configuration<\/strong><\/h2>\n

    To configure your server, we must first locate and copy the compiled server out of our temporary directory:<\/p>\n

    cd cuberite\r\ncp -r Server ~\/server\/cuberiteServer\r\ncd .\/cuberiteServer\r\n<\/code><\/pre>\n

    Your server directory will now be located at\u00a0\/root\/server\/cuberiteServer<\/code>\u00a0and the configuration file will be located at\u00a0\/root\/server\/cuberiteServer\/settings.ini<\/code>.<\/p>\n

    We can now edit the configuration using any text editor:<\/p>\n

    nano settings.ini\r\n<\/code><\/pre>\n

    You will see something that looks like the following:<\/p>\n

    [Server]\r\nDescription=Cuberite - in C++!\r\nShutdownMessage=Server shutdown\r\nMaxPlayers=100\r\nHardcoreEnabled=0\r\nAllowMultiLogin=0\r\nPorts=25565\r\n<\/code><\/pre>\n

    In order to edit the maximum number of players that can be online at any given time, just modify the\u00a0MaxPlayers=100<\/code>\u00a0line to any number you desire.<\/p>\n

    For example, if you wanted a maximum of 25 players, all you’d have to do is change the line to\u00a0MaxPlayers=25<\/code>.<\/p>\n

    You can also change the port, but it is not recommended because of the increased difficulty for users to connect to your server (the default port for Minecraft servers is\u00a025565<\/code>).<\/p>\n

    If you’re using\u00a0nano<\/code>, you can exit and save by doing\u00a0CTRL<\/kbd>\u00a0+\u00a0X<\/kbd>, followed by\u00a0ENTER<\/kbd>.<\/p>\n

    Starting, stopping and connecting to your new server<\/strong><\/h2>\n

    Starting the server<\/strong><\/h3>\n

    To start the server, simply head to the server directory (\/root\/server\/cuberiteServer<\/code>) and start a screen:<\/p>\n

    cd ~\/server\/cuberiteServer\r\nscreen -S MinecraftServer && screen -r MinecraftServer\r\n<\/code><\/pre>\n

    You can reconnect to the\u00a0screen<\/code>\u00a0at any given time using the\u00a0screen -r <screenName><\/code>\u00a0command. We named the screen\u00a0MinecraftServer<\/code>, so reconnecting can be done by performing\u00a0screen -r MinecraftServer<\/code>.<\/p>\n

    Now, execute the server binary:<\/p>\n

    .\/Cuberite\r\n<\/code><\/pre>\n

    It may take a few seconds for the terrain to generate before the server can be used. Also, use the following combination to exit the screen:\u00a0CTRL<\/kbd>\u00a0+\u00a0A<\/kbd>\u00a0+\u00a0D<\/kbd>.<\/p>\n

    Stopping the server<\/h4>\n

    In order to perform a hard-shutdown, all you need to do is use\u00a0CTRL<\/kbd>\u00a0+\u00a0C<\/kbd>. To perform a graceful shutdown, enter the following command in the console:<\/p>\n

    stop\r\n<\/code><\/pre>\n

    Connecting to your server<\/h4>\n

    Assuming that you’ve already configured the firewall, you can enter your server address in the Minecraft client.<\/p>\n

    Your address should look like the following:\u00a0192.0.2.5:25565<\/code>\u00a0(192.0.2.5<\/code>\u00a0being your actual server address).<\/p>\n

    Final Remarks<\/strong><\/h2>\n

    At this point, you can pass your server address along with a few friends and start building.<\/p>\n

    Uninstalling Cuberite<\/strong><\/h3>\n

    Removing the software is simple. All you have to do is make sure that the server is offline and run\u00a0rm -rf ~\/server<\/code>.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","manualknowledgebasecat":[105,231,242,243],"manual_kb_tag":[167],"_links":{"self":[{"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manual_kb\/2212"}],"collection":[{"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manual_kb"}],"about":[{"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/types\/manual_kb"}],"author":[{"embeddable":true,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/comments?post=2212"}],"version-history":[{"count":1,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manual_kb\/2212\/revisions"}],"predecessor-version":[{"id":2213,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manual_kb\/2212\/revisions\/2213"}],"wp:attachment":[{"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/media?parent=2212"}],"wp:term":[{"taxonomy":"manualknowledgebasecat","embeddable":true,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manualknowledgebasecat?post=2212"},{"taxonomy":"manual_kb_tag","embeddable":true,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manual_kb_tag?post=2212"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}