This is an early version of GoMud, having only been in development a couple of months.
Screenshots for some of the features can be found here.
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
.
There is some stubbed out folders/files/code bits for a web service and web client, but nothing substantial or even moderately functional yet. Later this should use websockets to connect, and be able to server game-aware pages up.
NOTE: Certain admin in-game commands can be destructive. For example, the build
command is notoriously finicky if you don't understand what you are doing. Although there is some documentation, it doesn't mean stuff won't get missed, plus it's possible to accidentally mess up typing something and then can be tricky to fix if you don't first understand the underlying mechanisms. Now that there is a user prompt system working this can probably be improved considerably in the near future, and building or modifying a room can be a series of prompts.
The network layer will eventually be overhauled and possibly include support for the alternative screen buffer
mode at some point.
Information on scripting in GoMud can be found in the scripting README.
- Auto-complete input
- In-game maps
- Quests / Quest Progress
- Lockpicking
- Hired Mercs
- TinyMap (okay not much of a "feature")
- 256 Color/xterm
- Customizable Prompts
- Mob/NPC Scripting
- Room Scripting
- Kill Stats
- Searchable Inventory
- Day/Night Cycles
A youtube playlist to getting started has been set up here:
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
From there you should see some logging, and once ready, connect to localhost
on port 33333
with a telnet client and use the default admin login:
Username: admin
Password: password
There are a number of make targets that might be useful for building/running the MUD.
You can type make help
to see a couple make targets worth knowing about.
These require Go to be installed locally
Run go vendor/tidy/verify:
make mod
Run in a container (port 33333):
make run
Connect to running container via a container client:
make client
Build the go-mud-server
binary:
make build
From powershell w/ admin priv:
restart-service *docker*
These require Docker to be installed locally
Build/Run in Docker container:
Will run on port 33333
in the container and publicly exposes port 33333
( per provisioning/dockerdocker-compose.yml ):
make run
Get exposed port of running container:
make port
Connection can be made with any terminal program (telnet, nc, etc)
telnet localhost 33333
NOTE: Windows default telnet client is no longer compatible with typical ANSI Escape codes.
This will build a lightweight linux container and use it to telnet to the server. This is useful especially on windows where ANSI color escape sequences are borked.
make client
Or using docker (localhost connection)
docker run --rm -u root -it busybox:latest telnet host.docker.internal 33333
Or using docker (external connection)
docker run --rm -u root -it busybox:latest telnet {hostname/ip} 33333