How to create Minecraft Java Edition Game Server

How to create Minecraft: Java Edition Game Server

 Compatibility

Minecraft: Java Edition will run on popular distros as long as the minimum requirements are met.

 Install Notes

LinuxGSM installs the vanilla server by default https://minecraft.net/en/download/server. There is currently no method for LinuxGSM to install custom Minecraft servers automatically. Should you wish to install a custom server you will need to manually install the jar file and point LinuxGSM to it.

 Server

For consistant uptime it is recomended you host a server in a data center. If you dont already have a server, you can rent a dedicated or vitual server from one of our sponsored providers,
GratisVPS

If the command-line isnt for your you can use GameServerApp web-based game server management service.

 Minimum Recommended Distros

  • Ubuntu Icon Ubuntu 20.04 LTS
  • Debian Icon Debian 11
  • Centos Icon CentOS (Incompatible)

 Other Distros

Although not tested, any distro with tmux => 1.6 and JRE => 17 should also be compatible with Minecraft: Java Edition servers.

 Dependencies

Ubuntu

Ubuntu 20.04

Ubuntu Icon

sudo dpkg --add-architecture i386; sudo apt update; sudo apt install curl wget file tar bzip2 gzip unzip bsdmainutils python3 util-linux ca-certificates binutils bc jq tmux netcat openjdk-17-jre

Ubuntu 22.04 and above

Ubuntu Icon

sudo dpkg --add-architecture i386; sudo apt update; sudo apt install curl wget file tar bzip2 gzip unzip bsdmainutils python3 util-linux ca-certificates binutils bc jq tmux netcat openjdk-17-jre

 

Debian 10

sudo dpkg --add-architecture i386; sudo apt update; sudo apt install curl wget file tar bzip2 gzip unzip bsdmainutils python3 util-linux ca-certificates binutils bc jq tmux netcat openjdk-17-jre

 

Debian 11 and above
sudo dpkg --add-architecture i386; sudo apt update; sudo apt install curl wget file tar bzip2 gzip unzip bsdmainutils python3 util-linux ca-certificates binutils bc jq tmux netcat openjdk-17-jre

 

CentOS 64-bit

EPEL is required to install some dependencies needed for using LinuxGSM on CentOS.

yum install epel-release

 

CentOS 64-bit

yum install curl wget tar bzip2 gzip unzip python3 binutils bc jq tmux java-11-openjdk

 

 Install

From the command-line do the following. Ensuring you have also installed the required dependencies.

1. Create a user and login.

adduser mcserver

For security best practice, ensure you set a strong password. Random password: DMxMjIyNTM3M

su - mcserver

2. Download linuxgsm.sh.

curl -Lo linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh mcserver

3. Run the installer following the on-screen instructions.

./mcserver install

 

 Basic Usage

All Commands

A complete list of commands can be found by typing.

./mcserver

Below are the most common commands available.

Running

start
./mcserver start
stop
./mcserver stop
restart
./mcserver restart
console

Console allows you to view the live console of a server as it is running and allow you to enter commands; if supported.

./mcserver console

To exit the console press CTRL+b d. Pressing CTRL+c will terminate the server.

Updating

update

Update checks for any server updates and applies them. The server will update and restart only if required.

./mcserver update

Debugging

Details

You can get all important and useful details about the server such as passwords, ports, config files etc.

./mcserver details

Debug

Use debug mode to help you if you are having issues with the server. Debug allows you to see the output of the server directly to your terminal allowing you to diagnose any problems the server might be having.

./mcserver debug

Logs

Server logs are available to monitor and diagnose your server. Script, console and game server (if available) logs are created for the server.

/home/mcserver/logs

Backup

Backup will allow you to create a complete tar bzip2 archive of the whole server.

./mcserver backup

Monitor

LinuxGSM can monitor the game server by checking that the proccess is running and querying it. Should the server go offline LinuxGSM can restart the server and send you an alert. You can use cronjobs to setup monitoring.

./mcserver monitor

Configure LinuxGSM

For details on how to alter LinuxGSM settings visit LinuxGSM Config Files page.

Documentation

For detailed documentation visit the LinuxGSM docs.

Cronjobs

To automate LinuxGSM you can set scheduled tasks using cronjobs, to run any command at any given time. You can edit the crontab using the following.

crontab -e

Below are the recommended cron tasks.

*/5 * * * * /home/mcserver/mcserver monitor > /dev/null 2>&1
*/30 * * * * /home/mcserver/mcserver update > /dev/null 2>&1
0 0 * * 0 /home/mcserver/mcserver update-lgsm > /dev/null 2>&1

Configure LinuxGSM

For details on how to alter LinuxGSM settings visit LinuxGSM Config Files page.

Documentation

For detailed documentation visit the LinuxGSM docs.