xrxs/DESIGN

32 lines
No EOL
1.4 KiB
Text

[9p directory structure]
/ctl: control file for inputing system commands
load CART: load a cartridge
create REALM: create a new realm (start a new game or app session)
protect REALM: protect the realm with auth data
enter REALM: join an existing realm
leave: leave the current realm
save: save the current universe to the realm
reset: reset the cartridge (attempts to leave the realm, but doesn't save)
unload: unload the cartridge
shutdown: disconnect from the xrxs server
/carts/: available game/app cartridges for this server
/realms/: open/saved realms
realms can either be solo, open, or protected;
open or protected realms can have limited member numbers
depending on the cartridge, these settings can be user-managed or managed by the cartridge itself
/realm/REALM/index: realm data readable by the client before entering, eg:
1 4 1
first number is number of members
second is member limit
third is 1 if protected, 0 if not
0 1 1 represents a protected solo realm that is empty (saved game with password)
0 1 0 represents an unprotected solo realm that is empty (saved game with no password)
/realms/REALM/members: members of the realm
realms/REALM/allowed: allowed membernames (if empty, anyone is allowed)
realms/REALM/password: realm password
realms/REALM/universe/: universe data synced to the realm
/universe/: arbitrary game data not yet synced to the realm