murepl
murepl copied to clipboard
evaluate clojail / isolation options
perhaps restricted vs. unrestricted mode.
consider password handling.
at the very least system exit should be disallowed.
clojail is hooray
need to think more carefully about this all (how to affect core data structures from commands namespace and disallowing direct manipulation from the frontend)
path being taken is clojail + a carefully crafted namespace wherein command functions have read-only copies of room data / player data. they return Action records that describe a desired mutation on the game world. A handler verifies these actions outside of the command sandbox.
This way users can still define their own functions as long as they know how to create / return actions.
Down the line a (defcommand) macro will make this much easier.
branch for this is static-commands