Development workflows
Walkthroughs for typical StompyMUX game development workflows
The sources are split across two different domains:
- The
src/directory contains the C sources for the game server. - The
game/lua/directory contains the Lua sources for most of the in-game commands and logic. You should be able to focus most of your efforts here.
C/Game server development workflow
To make changes to the game server sources, a typical development loop looks like this:
- Make your changes
- Run
just fmt-cto format the sources - Run
just check-and-runto run the full suite of checks and launch the server if successful - To short-circuit the checks and just build and launch, run
just build-and-run - You’ll need to CTRL+C the server and start over on the first step to make additional game server changes. Hot reloading the game server is not supported
Lua development workflow
The Lua sources in game/lua are where most of the player-visible logic lives. These are typically developed like this:
- Launch the server via
just build-and-run - Make changes to Lua source(s)
- Run
just fmt-luato format the sources - Using a Wizard character in-game, type
@lua/reload - If errors are encountered when reloading or starting the game, you’ll see those emitted to the server logs and to the Wizard doing the reload
More information about Lua scripting may be found in the Scripting section of the documentation.
Documentation development workflow
We use the Hugo static site generator for our documentation. See installation instructions here if you’d like to be able to build docs locally, then:
- Make your docs changes under
docs/content/en - Run the local devserver with
just docsite-serve - Point your browser at http://localhost:1313/ to see the changes