From b738d29f389d11012b9f4b82164422f487659bb2 Mon Sep 17 00:00:00 2001 From: Derek Stevens Date: Mon, 14 Jun 2021 15:09:05 -0600 Subject: [PATCH] design notes on 9p directory structure --- DESIGN | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 DESIGN diff --git a/DESIGN b/DESIGN new file mode 100644 index 0000000..c753b26 --- /dev/null +++ b/DESIGN @@ -0,0 +1,32 @@ +[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 \ No newline at end of file