Volte6 / GoMud

Public repository for GoMud, a Go based Mud server.
48 stars 8 forks source link
engine game-engine go golang moo mud multiplayer multiplayer-online-game mush telnet text text-adventure webclient websockets

GoMud

image

GoMud is an in-development open source MUD (Multi-user Dungeon) game world and library.

It ships with a default world to play in, but can be overwritten or modified to build your own world using built-in tools.

User Support

If you have comments, questions, suggestions:

Github Discussions - Don't be shy. Your questions or requests might help others too.

Discord Server - Get more interactive help in the GoMud Discord server.

Screenshots

See some feature screnshots here.

ANSI Colors

Colorization is handled through extensive use of my github.com/Volte6/ansitags library.

Can be run locally as a standard go program or via docker container. The default port is 33333, but can be run on multiple ports.

Scripting

Information on scripting in GoMud can be found in the scripting README.

Small Feature Demos

Quick Start

A youtube playlist to getting started has been set up here:

Getting Started Videos

You can compile and run it locally with:

go run .

Or you can just build the binary if you prefer:

go build -o GoMudServer

./GoMudServer

Or if you have docker installed:

docker-compose -f provisioning/docker-compose.yml up --build --remove-orphans server

Connecting

TELNET : connect to localhost on port 33333 with a telnet client

WEB CLIENT: http://localhost/client

Default Username: admin

Default Password: password

Env Vars

When running several environment variables can be set to alter behaviors of the mud:

Platform specific

Raspberry pi

Want to run GoMud on a raspberry pi? No problem! I do it all the time! It runs great on a $15 Raspberry Pi Zero 2. However, in my experience the raspberry pi struggles to compile the binary directly, so it is recommended that you compile the binary locally and then copy it over to the raspberry pi.

There is a convenient make command to compile the pi chipset provided:

make build_rpi ( this will output a binary named: go-mud-server-rpi )

Or (window user?) just use the build comand directly:

env GOOS=linux GOARCH=arm GOARM=5 go build -o go-mud-server-rpi

Why Go?

Why not?

Go provides a lot of terrific benefits such as: