Help language development. Donate to The Perl Foundation

MUGS::UI::CLI zef:japhb last updated on 2021-05-14


Actions Status


MUGS-UI-CLI - CLI UI for MUGS, including App and game UIs


# Set up a full-stack MUGS-UI-CLI development environment
mkdir MUGS
git clone [email protected]:Raku-MUGS/MUGS-Core.git
git clone [email protected]:Raku-MUGS/MUGS-Games.git
git clone [email protected]:Raku-MUGS/MUGS-UI-CLI.git

cd MUGS-Core
zef install --exclude="pq:ver<5>:from<native>" .
mugs-admin create-universe

cd ../MUGS-Games
zef install .

zef install --deps-only .  # Or skip --deps-only if you prefer


# Play games using a local CLI UI, using an internal stub server and ephemeral data

# Play games using an internal stub server accessing the long-lived data set
mugs-cli --universe=<universe-name>  # 'default' if set up as above

# Log in and play games on a WebSocket server using a local CLI UI
mugs-cli --server=<host>:<port>


# Start a TLS WebSocket game server on localhost:10000 using fake certs

# Specify a different MUGS identity universe (defaults to "default")
mugs-ws-server --universe=other-universe

# Start a TLS WebSocket game server on different host:port
mugs-ws-server --host=<hostname> --port=<portnumber>

# Start a TLS WebSocket game server using custom certs
mugs-ws-server --private-key-file=<path> --certificate-file=<path>

# Write a Log::Timeline JSON log for the WebSocket server
LOG_TIMELINE_JSON_LINES=log/mugs-ws-server mugs-ws-server


NOTE: See the top-level MUGS repo for more info.

MUGS::UI::CLI is a CLI app (mugs-cli) and a set of UI plugins to play each of the games in MUGS-Core and MUGS-Games via the CLI.

This Proof-of-Concept release only contains very simple turn-based guessing and interactive fiction games, plus a simple lobby for creating identities and choosing games to play. Future releases will include many more games and genres, plus better handling of asynchronous events such as inter-player messaging.


MUGS is still in its infancy, at the beginning of a long and hopefully very enjoyable journey. There is a draft roadmap for the first few major releases but I don't plan to do it all myself -- I'm looking for contributions of all sorts to help make it a reality.


Please do! :-)

In all seriousness, check out the CONTRIBUTING doc (identical in each repo) for details on how to contribute, as well as the Coding Standards doc for guidelines/standards/rules that apply to code contributions in particular.

The MUGS project has a matching GitHub org, Raku-MUGS, where you will find all related repositories and issue trackers, as well as formal meta-discussion.

More informal discussion can be found on IRC in Freenode #mugs.


Geoffrey Broadwell [email protected] (japhb on GitHub and Freenode)


Copyright 2021 Geoffrey Broadwell

MUGS is free software; you can redistribute it and/or modify it under the Artistic License 2.0.