A text-based game engine, with content for an adults-only post-apocalyptic themed MUD.
Go to file
2022-12-13 23:16:12 +11:00
blastmud_game Initial server setup work 2022-12-12 23:37:28 +11:00
blastmud_interfaces More progress on listener 2022-12-12 23:37:38 +11:00
blastmud_listener Implement basics of listener 2022-12-13 22:44:55 +11:00
config Get basic server IO structure coded 2022-12-12 23:37:38 +11:00
.gitignore Initial server setup work 2022-12-12 23:37:28 +11:00
Cargo.lock More progress on listener 2022-12-12 23:37:38 +11:00
Cargo.toml Initial server setup work 2022-12-12 23:37:28 +11:00
LICENSE Add initial README and LICENSE 2022-12-13 23:16:12 +11:00
README.md Add initial README and LICENSE 2022-12-13 23:16:12 +11:00

Blastmud

A Rust-based mud (multi-user text-based game). Unlike many muds, it is designed to be completely Free software, with the game core written in Rust rather than in any form of softcode. Only user data forms part of the database. Even the map is programmed in a normal text editor, and can be tested locally before being deployed to the game.

Architecture

Blastmud consists of the following main components:

  • blastmud_listener is intended to be a long-running component that accepts connections from users. It can't be changed without disconnecting all users.
  • blastmud_interfaces is a shared library defining the interface between the listener and the gameserver. It can't be changed without disconnecting all users.
  • blastmud_game implements the gameserver. It does not hold any long-lived state, and so can be safely redeployed and replaced without disconnecting all users.
  • A PostgreSQL database is used to store the entire state (user data) of the game. It is used with synchronous_commit turned off so that recently changed data is only stored in memory.

Status

Blastmud is not yet playable, it is under development.