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.
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.
Guides - Community created guides to help get started.
Click below to see in-game screenshots of just a handful of features:
Colorization is handled through extensive use of my github.com/Volte6/ansitags library.
- 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
- Web Socket "Virtual Terminal"
- Alternate Characters
TELNET : connect to localhost
on port 33333
with a telnet client
WEB CLIENT: http://localhost/webclient
Default Username: admin
Default Password: password
When running several environment variables can be set to alter behaviors of the mud:
- CONFIG_PATH=/path/to/alternative/config.yaml - This can provide a path to a copy of the config.yaml containing only values you wish to override. This way you don't have to modify the original config.yaml
- LOG_PATH=/path/to/log.txt - This will write all logs to a specified file. If unspecified, will write to stderr.
- LOG_LEVEL={LOW/MEDIUM/HIGH} - This sets how verbose you want the logs to be. (Note: Log files rotate every 100MB)
Why not?
Go provides a lot of terrific benefits such as:
- Compatible - High degree of compatibility across platforms or CPU Architectures. Go code quite painlessly compiles for Windows, Linux, ARM, etc. with minimal to no changes to the code.
- Fast - Go is fast. From execution to builds. The current GoMud project builds on a Macbook in less than a couple of seconds.
- Opinionated - Go style and patterns are well established and provide a reliable way to dive into a project and immediately feel familiar with the style.
- Modern - Go is a relatively new/modern language without the burden of "every feature people thought would be useful in the last 30 or 40 years" added to it.
- Upgradable - Go's promise of maintaining backward compatibility means upgrading versions over time remains a simple and painless process (If not downright invisible).
- Statically Linked - If you have the binary, you have the working program. Externally linked dependencies (and whether you have them) are not an issue.
- No Central Registries - Go is built to naturally incorporate library includes straight from their repos (such as git). This is neato.
- Concurrent - Go has concurrency built in as a feature of the language, not a library you include.