This server is built on barneygale/quarry, a Minecraft protocol library.
It has support to run behind Velocity.
This server authenticates players, then spawns them in an empty world and does the bare minimum to keep them in-game.
When logged in the players can authenticate their Minecraft accounts by entering their student email into the /register CID@student.chalmers.se
command.
- Python 3
- Supports MC 1.16.3+
- An instance of gudchalmers/chs-mclink-backend running
- Python Virtualenv (not really required but highly recommended)
Edit the mclink.ini
as needed for your setup.
The entries in the config are:
url
The url to the backend server that handles the database and emails, and is used by the server plugin to auth on login.main_server
The server on Velocity to send the player when authentication is done. Disabled for now as there were some issues.online
True if this server should verify the accounts logging in to the Minecraft servers. Need to be disabled to work behindVelocity
.velocity
True if working behindVelocity
.velocity_key
A shared key withVelocity
auth internal messages throughHMAC
hashing. You can read more here.token
A shared key with the backend server for authentication.
Install all the libraries with the following:
pip install -r requirements.txt
Then to run the server you just need to run the following:
python mclink.py
It's recommended to setup a auto run script like systemd for linux to auto run on startup and remove the requirement to have a shell open.
The following is an example systemd
script:
[Unit]
Description=MCLink Python Service
After=multi-user.target
[Service]
Type=Simple
Restart=on-failure
RestartSec=1
WorkingDirectory=/path/to/this/folder
ExecStart=/path/to/this/folder/venv/bin/python /path/to/this/folder/mclink.py
[Install]
WantedBy=multi-user.target