Installing different versions of Minecraft

Raekye edited this page Feb 20, 2018 · 11 revisions

Gamocosm has a repo of scripts it uses to install some servers automatically. Because Gamocosm and Digital Ocean give you full access to your servers, running a different version of Minecraft is easy. You can install older versions of Minecraft, bleeding edge snapshots, mods, plugins, or completely custom servers!

We recommend trying Cuberite, the performant C++ Minecraft server.

Adding official support for new servers

  1. Submit a pull request for a script to install the server at the gamocosm-minecraft-flavours repository (you can read more about what the scripts should do there)
  2. Add an entry to config/minecraft_flavours.yml
    • key: unique identifier, should be the install script name without the .sh extension
    • versions:
      • name: displayed in dropdown menu
      • tag: will be passed to the install script as the environment variable $MINECRAFT_FLAVOUR_VERSION
    • time: estimated time for install
    • developers: array
    • website: string
    • notes: array of strings, e.g. "2GB+ recommended"

If you would like support for a server or modpack, or think one would be useful, please submit an issue, and we will try to work on it. Thanks!

Notes

  • Your home folder is /home/mcuser. This is sometimes abbreviated as a tilda (~)
  • "Your Minecraft folder" refers to ~/minecraft. Inside here you'll find the server jar and world folder
  • You should always back up your world before making changes

How it works

Gamocosm (or more accurately, the Minecraft Server Wrapper Gamocosm uses) simply looks for a minecraft_server-run.jar file and starts it. If minecraft_server-run.jar doesn't exist, Gamocosm looks for a minecraft_server-run.sh shell script. So all that matters is you name the file you want to start minecraft_server-run.jar (see instructions below for non-jar servers/using the shell script).

Manually installing Minecraft

Requirements

  • Make sure you know how to FTP or SSH. This is how you connect to the server and upload/edit files
  • Have your new server jar file ready

Instructions

  1. Start the (physical) server, then stop Minecraft
  2. Connect with FTP or SSH. Minecraft files are located in ~/minecraft
  3. Backup your world
  4. Delete minecraft_server-run.jar and any other files/folders you want to reset (delete the world folder if you want to create a new one)
  5. Upload the server jar file, and rename it minecraft_server-run.jar
  6. Restart Minecraft on Gamocosm

You can do this for any jar files, such as Bukkit, Technic, Feed the Beast, etc. All that matters is that the jar file to start is named minecraft_server-run.jar.

Example: Bukkit

Simply upload the server jar and rename it to minecraft_server-run.jar (this is no different from vanilla Minecraft/the instructions above). Place plugins in a plugins folder (create it if it doesn't exist)

Currently, there's all this legal stuff going on with Bukkit. There are other projects that implement the Bukkit API, such as Glowstone. Using other servers is no different; simply rename the server jar to minecraft_server-run.jar

Example: Minecraft Forge

First, you should read the installation instructions in the Forge Wiki.

  • Forge is slightly different because it uses two files: forge-<version>-universal.jar containing Minecraft Forge and minecraft_server.<version>.jar containing a vanilla server
  • Since you want to start forge-version-universal.jar, rename that to minecraft_server-run.jar
  • Upload both files to your server
  • You can download and run the Forge installer on your local computer, and upload the files to the server, or SSH and run the installer there directly (java -jar forge-<version>-installer.jar --installServer. This creates the two files in the current directory. Make sure you rename forge-<version>-universal.jar to minecraft_server-run.jar)
  • Place mods in a mods folder (create it if it doesn't exist)

Non-jar servers, such as Cuberite

  1. Delete the minecraft_server-run.jar file, so Gamocosm doesn't try to start it
  2. Create a shell script minecraft_server-run.sh
  3. Ensure it is executable (chmod u+x minecraft_server-run.sh)

For example, for Cuberite, Gamocosm's setup script creates a file like this:

#!/bin/bash
./Cuberite

Gamocosm will run this shell script to start your server.

Autoshutdown

Gamocosm uses the Query protocol to ping servers for autoshutdown (checking for 0 players). You can see the code at app/models/minecraft/querier.rb. Currently, Gamocosm is fixed at port 25565; you can see setup_server_worker.rb opens the firewall port 25565 to UDP (and TCP for the Server List Ping protocol, just in case for the future).

If you set up your own server, note that the query protocol is disabled by default and you will to set enable-query=true in server.properties on your server. See Gamocosm's vanilla setup script for reference.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.