MoreOutput / RockMUD

Node Websocket MUD Server. Demo: https://rockmud.herokuapp.com/
MIT License
157 stars 43 forks source link

area flat file persistence - area persistence prep #119

Closed MoreOutput closed 7 years ago

MoreOutput commented 7 years ago

https://github.com/MoreOutput/RockMUD/tree/dataPersistence

The branch above outlines how to write persistence drivers for RockMUD. It will merge into master soon and allow a move to 0.3.5.

The flat file driver allows for areas to be saved as valid JSON files. They are saved on the typical respawn tick. They are loaded upon boot.

The couchdb driver allows for players to be stored in couchdb. An example of a REST interface for persistence. OOTB experience is to save a flat-file in /players.

These drivers should outline a path for any persistence needs. The default experience is no area persistence (areas fully reload on respawn) and flat-file player persistence. Note there is no advanced logic for persisted areas. They are saved in full. You can expand that by adjusting the driver/source.