Skip to content

Gophercraft/core

Repository files navigation

gopher

Gophercraft

Go Reference License: GPL v3 Chat on discord

The Gophercraft project provides 100% Go libraries and programs for research and experimentation with MMORPG software.

⚠️ WARNING: Gophercraft is experimental and prone to all sorts of game-ruining exploits. Don't use it yet for anything serious yet.

Read here for more information

Server setup/installation (Linux)

# 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>

home 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.

world server (or realm 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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •