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 [email protected] 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:
urlThe url to the backend server that handles the database and emails, and is used by the server plugin to auth on login.main_serverThe server on Velocity to send the player when authentication is done. Disabled for now as there were some issues.onlineTrue if this server should verify the accounts logging in to the Minecraft servers. Need to be disabled to work behindVelocity.velocityTrue if working behindVelocity.velocity_keyA shared key withVelocityauth internal messages throughHMAChashing. You can read more here.tokenA shared key with the backend server for authentication.
Install all the libraries with the following:
pip install -r requirements.txtThen to run the server you just need to run the following:
python mclink.pyIt'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