Sponge is an open-source project that expands the capabilities of\u00a0Minecraft servers<\/strong>\u00a0through plugins. Combined with the modding API Forge, server hosts can create a highly unique experience for their players. In this tutorial, you will learn to setup a\u00a0Minecraft server<\/strong>\u00a0with both Forge and Sponge on a Aklweb host instance.<\/p>\n Note:<\/strong>\u00a0While Sponge plugins only need to be installed on the server, Forge mods will often require any players on your server to also have the mod installed. If you choose to install any mods like that, be sure to give your players a heads-up.<\/p>\n In order for the Minecraft server to run, we’re going to need Java. We also need a tool called\u00a0 Note:<\/strong>\u00a0The\u00a0 When asked if you want to continue, type “ It’s generally a good idea to create a non-privileged user when running servers. While this isn’t required, it’s recommended to mitigate damage in the event of a security exploit.<\/p>\n First, we will create our new user named\u00a0 Create a password and work your way through the prompts.<\/p>\n After that’s been done, logout of the SSH client and reconnect using your new username and password. Your prompt will now look something like this.<\/p>\n Create a new folder for the server files with the\u00a0 Create another folder called\u00a0 Visit\u00a0the SpongeForge download page<\/span><\/strong><\/a>\u00a0and find a build that matches the version of Minecraft you’ll be using for your server. For this tutorial, we’ll be using version\u00a0 Instead of downloading the file, right click on the download link and click “ Take note of the number\u00a0after<\/em>\u00a0the Minecraft version in the URL. This is the Forge build number. In this case, it’s\u00a0 Once you’ve finished that, return to the previous folder.<\/p>\n Go to\u00a0the Forge download page<\/span><\/a><\/strong>, select your version of Minecraft, and hunt down the build number found in the last step. It will be after the last “ Once again, right click on the “ We’ll need to run this file in Java. Type\u00a0 Take note of the Forge installer’s filename as we’ll use part of it in the next step.<\/p>\n Next, we’re going to write a script that can start up the server. We’ll use\u00a0 From here, write the follow lines.<\/p>\n Replace\u00a0 Replace\u00a0 Here is an example of what it should look like.<\/p>\n Use “ Next, you need to mark the file as executable.<\/p>\n You will now be able to run the script.<\/p>\n The server will run for a little while and exit with an error. This is because Minecraft requires server owners to agree to its\u00a0End User License Agreement<\/span><\/a><\/strong>. You can accept these terms by opening the newly created\u00a0 After making your changes, once again use “ In order to keep the server running after closing the SSH window, we’ll use a utility called\u00a0 Press “ The Minecraft server will now successfully start.<\/p>\n Lastly, use “ Should you need access the Minecraft server again (e.g. restarting it after installing mods\/plugins or running Minecraft commands such as\u00a0 In this tutorial you learned how to setup a Minecraft server with Minecraft Forge and Sponge. At this moment, however, it’s still a mostly vanilla Minecraft experience. To start extending Minecraft’s functionality, check out\u00a0Forge mods at CurseForge<\/span><\/strong>\u00a0<\/a>and\u00a0Sponge plugins at Ore<\/span><\/strong><\/a>.<\/p>\n Use an SFTP client or the\u00a0Requirements<\/strong><\/h3>\n
\n
Installing Java and Screen<\/strong><\/h3>\n
screen<\/code>\u00a0that we’ll be using later. To install both of these at once, we’ll use Debian’s\u00a0
apt<\/code>\u00a0command. While we’re at it, we’ll also update the whole system.<\/p>\n
#<\/code>\u00a0and\u00a0
$<\/code>\u00a0symbols at the beginning of these lines are not meant to be typed, they are visual indicators of the command prompt.<\/em><\/p>\n
# apt update && apt upgrade && apt install default-jre screen\r\n<\/code><\/pre>\n
y<\/code>” and press “
Enter<\/code>“.<\/p>\n
Creating a new user (Optional)<\/strong><\/h3>\n
minecraft<\/code>.<\/p>\n
# adduser minecraft\r\n<\/code><\/pre>\n
minecraft@my-server:~$\r\n<\/code><\/pre>\n
Downloading Sponge<\/strong><\/h3>\n
mkdir<\/code>\u00a0command and\u00a0
cd<\/code>\u00a0into it.<\/p>\n
$ mkdir minecraft && cd minecraft\r\n<\/code><\/pre>\n
mods<\/code>\u00a0and\u00a0
cd<\/code>\u00a0into that.<\/p>\n
$ mkdir mods && cd mods\r\n<\/code><\/pre>\n
1.10.2<\/code>.<\/p>\n
Copy Link Location<\/code>“. Go back to your SSH session and paste the URL in a\u00a0
wget<\/code>\u00a0command.<\/p>\n
$ wget https:\/\/repo.spongepowered.org\/maven\/org\/spongepowered\/spongeforge\/1.10.2-2477-5.2.0-BETA-2731\/spongeforge-1.10.2-2477-5.2.0-BETA-2731.jar\r\n<\/code><\/pre>\n
2477<\/code>. We’ll need this in the next step.<\/p>\n
$ cd ..\r\n<\/code><\/pre>\n
Installing Forge<\/strong><\/h3>\n
.<\/code>” in Forge’s full version numbers. For example, 12.18.3.
2477<\/code>\u00a0in our case. “
Click Installer<\/code>“.<\/p>\n
Skip<\/code>” button after the timer runs out and use “
Copy Link Location<\/code>“. Paste this into a\u00a0
wget<\/code>command.<\/p>\n
$ wget http:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/1.10.2-12.18.3.2477\/forge-1.10.2-12.18.3.2477-installer.jar\r\n<\/code><\/pre>\n
java -jar forge<\/code>\u00a0and press the “
Tab<\/code>” key to automatically complete the the filename. Type\u00a0
--installServer<\/code>\u00a0to complete the command.<\/p>\n
$ java -jar forge-1.10.2-12.18.3.2477-installer.jar --installServer\r\n<\/code><\/pre>\n
Writing a script to start the server<\/strong><\/h3>\n
nano<\/code>\u00a0to do this.<\/p>\n
$ nano start.sh\r\n<\/code><\/pre>\n
#!\/bin\/bash\r\njava -Xmx[memory]M -jar [filename]\r\n<\/code><\/pre>\n
[memory]<\/code>\u00a0with the amount of heap memory in megabytes you’d like the Minecraft server to use. Remember to leave some for the OS. On a\u00a01GB server<\/strong>, use something around\u00a0768MB<\/strong>.<\/p>\n
[filename]<\/code>\u00a0with the filename from earlier but substitute\u00a0
-installer.jar<\/code>\u00a0for\u00a0
-universal.jar<\/code>.<\/p>\n
#!\/bin\/bash\r\njava -Xmx768M -jar forge-1.10.2-12.18.3.2477-universal.jar\r\n<\/code><\/pre>\n
Control+X<\/code>“, press “
y<\/code>“, and press “
Enter<\/code>” to save and exit.<\/p>\n
$ chmod +x start.sh\r\n<\/code><\/pre>\n
Agreeing to the EULA<\/strong><\/h3>\n
$ .\/start.sh\r\n<\/code><\/pre>\n
eula.txt<\/code>\u00a0and changing\u00a0
false<\/code>\u00a0to\u00a0
true<\/code>.<\/p>\n
$ nano eula.txt\r\n<\/code><\/pre>\n
Control+X<\/code>“, press “
y<\/code>“, and press “
Enter<\/code>” to save them.<\/p>\n
Keeping the server up with Screen<\/strong><\/h3>\n
screen<\/code>.<\/p>\n
$ screen\r\n<\/code><\/pre>\n
Spacebar<\/code>” to move past the information screen and then run the script file again.<\/p>\n
$ .\/start.sh\r\n<\/code><\/pre>\n
Control+A<\/code>” and press “
D<\/code>” to suspend\u00a0
screen<\/code>\u00a0and then logout of your SSH client. You will now be able to connect through Minecraft using the\u00a0Aklweb host server’s IP address<\/strong>.<\/p>\n
op<\/code>), log back into the SSH client and use the command\u00a0
screen -r<\/code>\u00a0to resume the\u00a0
screen<\/code>\u00a0session.<\/p>\n
Conclusion<\/strong><\/h3>\n
wget<\/code>\u00a0technique described earlier to add these to the server. To install Forge mods, just place them in the\u00a0
mods<\/code>\u00a0folder. Sponge plugins belong in the\u00a0
plugins<\/code>\u00a0subfolder of\u00a0
mods<\/code>. You might have to make this folder, however.<\/p>\n
$ mkdir ~\/minecraft\/mods\/plugins<\/code><\/pre>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","manualknowledgebasecat":[105,233,242,243],"manual_kb_tag":[193],"_links":{"self":[{"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manual_kb\/2273"}],"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=2273"}],"version-history":[{"count":2,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manual_kb\/2273\/revisions"}],"predecessor-version":[{"id":2277,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manual_kb\/2273\/revisions\/2277"}],"wp:attachment":[{"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/media?parent=2273"}],"wp:term":[{"taxonomy":"manualknowledgebasecat","embeddable":true,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manualknowledgebasecat?post=2273"},{"taxonomy":"manual_kb_tag","embeddable":true,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manual_kb_tag?post=2273"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}