Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/arendjr/plaintext
Text-based MUD game engine
https://github.com/arendjr/plaintext
Last synced: 12 days ago
JSON representation
Text-based MUD game engine
- Host: GitHub
- URL: https://github.com/arendjr/plaintext
- Owner: arendjr
- License: agpl-3.0
- Created: 2012-05-03T15:44:52.000Z (over 12 years ago)
- Default Branch: main
- Last Pushed: 2024-04-05T16:33:15.000Z (7 months ago)
- Last Synced: 2024-10-25T01:45:55.410Z (20 days ago)
- Language: Rust
- Homepage:
- Size: 13 MB
- Stars: 78
- Watchers: 16
- Forks: 17
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PlainText
PlainText is a text-based MUD game engine.
- **[Features](#features)**
- **[Documentation](#documentation)**
- **[Running your own server](#running-your-own-server)**
- [Connecting](#connecting)
- **[License](#license)**## Features
**Disclaimer:** Some of these are only available in the `legacy` branch. My
intention is to get everything below reimplemented in the current Rust port.- Support for both telnet (including ANSI colors, MCCP, MSDP and MSSP
extensions) and HTML5 (WebSockets)
- Command-line OLC
- Graphical HTML5 map editor, with perspective view for designing 3D areas
- Game events propagate through rooms
- Hear sounds and see visuals as they happen in nearby rooms
- Sounds and visuals lose strength and become increasingly blurry over distance
- Semi-realistic line-of-sight algorithm
- Dynamic room descriptions
- Reflects positions and directions for items, exits and characters
- Complements, not replaces, hand-written descriptions
- Logging of sessions (including IPs) and player commands
- Statistics tracking and visualization in the map editor
- Basic MUD commands
- Movement and orientation (go, look, enter, examine, open, close)
- Conversations (say, talk, tell, gtalk)
- Buying and handling items (buy, give, drop, get)
- Container items (put ... into, get ... from)
- Player groups (follow, lose, disband, gtalk)
- Basic combat (kill, attack, wield, remove)
- Designed for minimal latency
- Written in Rust
- Lock-free, multi-threaded design
- All game entities are loaded into memory on startup
- Changes are synced to disk in separate thread## Documentation
There's documentation available in the
[PlainText Wiki](https://github.com/arendjr/PlainText/wiki).You may want to jump straight to the
[Frequently Asked Questions](https://github.com/arendjr/PlainText/wiki/Frequently-Asked-Questions).## Running your own server
Make sure you have the latest stable Rust release installed and cloned this
repository, then from the command line, run:$ cargo run
You can use the PT_DATA_DIR and PT_LOG_DIR environment variables to control
where data files are loaded from and logs are written to, respectively.### Connecting
Once your own server is running, you can connect to it through telnet
or using your webbrowser. The ports to connect to are displayed on the console
when you start your server.The first character you register on your own server will automatically become an
admin.## License
This software is licensed under AGPLv3.
For details, see [LICENSE](https://github.com/arendjr/PlainText/blob/main/LICENSE).