The Gophercraft project provides 100% Go libraries and programs for research and experimentation with MMORPG software.
Read here for more information
# Install packages
sudo apt install git golang mariadb-server
git clone https://github.com/Gophercraft/core gophercraft; cd gophercraft
# Install Gophercraft Core
go install github.com/Gophercraft/core/cmd/gophercraft_wiz
go install github.com/Gophercraft/core/cmd/gophercraft_home
go install github.com/Gophercraft/core/cmd/gophercraft_world
# Generate configuration files and create databases with the Gophercraft Wizard
gophercraft_wiz
# You can edit your configurations in ~/.local/Gophercraft/Home/Home.txt
# and in ~/.local/Gophercraft/<worldserver folder>/World.txt
gophercraft_home
# in a different command prompt
# launch worldserver
gophercraft_world <Name of server>
The center of a Gophercraft network is the Home server.
The home server acts as a central authority in a Gophercraft network, similar to the MaNGOS "realmd".
Upon creating new World config, an ECDSA keypair is generated. The Home server associates this public key with a new Realm ID.
Now, the world server can post its info back to Home, and that will update the realm list. Hooray!
Tip: Set OpenRegistration to true in your
Home.txt
if you wish to allow anybody to register a world server.
The world server contains the in-game experience. Players connect to it with the IP address posted by the registered world server.
It aims to be highly extensible through the use of datapacks and Go plugins.