A Godot-based MUD Client for the GoMud Server
A lightweight, extensible, and fully Unicode-compatible client built with Godot 4.x, designed for connecting to and interacting with GoMud (and other compatible MUD servers).
GoMudEngine / GodotClient provides a flexible and modular interface for real-time text-based worlds. It’s written entirely in GDScript, with clean scene separation and built-in support for color-coded text, UI modularity, and cross-platform exports (including HTML5).
- ⚡ Real-time text interaction with MUD servers
- 💬 Command input and output parsing with BBCode color rendering
- 🧩 Modular scene structure — easy to extend or replace (input, map, mobs, containers, etc.)
- 🌍 UTF-8 / Unicode support for multilingual text and symbols
- 🪶 Lightweight & fast — pure GDScript, no external dependencies
- 🌐 Cross-platform ready — works on desktop and web (HTML5 export supported)
- Godot Engine v4.0 or later
- Basic understanding of Godot scenes, signals, and resources
git clone https://github.com/GoMudEngine/GodotClient.git
cd GodotClient
- Open the project in Godot →
project.godot
- Run the main scene →
main.tscn
(entry point) - Configure your connection → edit
connection.gd
(host, port, protocol) or use the in-game UI
File / Scene | Description |
---|---|
main.tscn / main.gd | Entry point — orchestrates UI and manages the client lifecycle |
Connection.tscn / connection.gd | Handles WebSocket / socket communication |
TextProcessor.tscn / text_processor.gd | Parses incoming text, applies colors and formatting |
Input.tscn / input.gd | Command line input, history navigation |
Containers , Mobs , Map , Status | Modules for inventory, NPCs, world map, player stats |
fonts/ | Contains main and fallback fonts (e.g., Noto Sans + Unifont) |
export_presets.cfg | Export settings for desktop and HTML5 builds |
🧠 Each module is independent — you can easily extend, replace, or restyle any system without breaking the others.
- 🎨 Themes & Fonts – Use your own color palette or UI skin in the Theme resource
- 🧮 Protocol adapters – Extend the
Connection
class for custom Telnet / WebSocket protocols - ⚔️ Macros & Aliases – Add local command automation or key bindings
- 📜 Logging / Transcript – Implement chat logging for debugging or story replay
- 🔔 Audio / Visual Feedback – Integrate sound cues or animations for events
> connect mud.example.com 4000
[Connected successfully!]
< The MUD server says: “Welcome, adventurer.” >
> look
You are in a small forest glade. Paths lead north and east.
> go north
Text input is handled by Input.gd
, output is processed via TextProcessor.gd
, and displayed in a RichTextLabel
with BBCode formatting.
- Engine: Godot 4.x
- Language: GDScript
- Networking: WebSocket / TCP Socket (customizable)
- License: MIT License
Copyright (c) 2025 GoMudEngine
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Contributions, suggestions, and pull requests are welcome! If you’d like to collaborate, please follow these steps:
- Fork the repository
- Create a feature branch
- Submit a pull request with a clear description
💡 For major changes, please open an issue first to discuss what you’d like to improve.
- GitHub: GoMudEngine
- Project Maintainer: DEVCI