MUGS::UI::WebSimple

WebSimple UI for MUGS, including HTTP gateway and game UIs

NAME

MUGS-UI-WebSimple - WebSimple UI for MUGS, including HTTP gateway and game UIs

SYNOPSIS

# Set up a full-stack MUGS-UI-WebSimple development environment
mkdir MUGS
cd 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-WebSimple.git

cd MUGS-Core
zef install .
mugs-admin create-universe

cd ../MUGS-Games
zef install .

cd ../MUGS-UI-WebSimple


### GAME SERVER (handles actual gameplay; used by the web UI gateway)

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

# 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


### WEB UI GATEWAY (frontend for a MUGS backend game server)

# Start a web UI gateway on localhost:20000 to play games in a web browser
mugs-web-simple --server-host=<websocket-host> --server-port=<websocket-port>
mugs-web-simple --server=<websocket-host>:<websocket-port>

# Start a web UI gateway on a different host:port
mugs-web-simple --host=<hostname> --port=<portnumber>

# Use a different CA to authenticate the WebSocket server's certificates
mugs-web-simple --server-ca-file=<path>

# Use custom certs for the web UI gateway itself
mugs-web-simple --private-key-file=<path> --certificate-file=<path>

# Turn off TLS to the web browser (serving only unencrypted HTTP)
mugs-web-simple --/secure

DESCRIPTION

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

MUGS::UI::WebSimple is a Cro-based web gateway for MUGS, including templates and UI plugins to play games from MUGS-Core and MUGS-Games via a web browser. The WebSimple UI focuses on low-bandwidth, resource-friendly HTML.

This Proof-of-Concept release only contains very simple turn-based games, plus a simple front door 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.

ROADMAP

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.

CONTRIBUTING

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.

AUTHOR

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

COPYRIGHT AND LICENSE

Copyright 2021 Geoffrey Broadwell

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

MUGS::UI::WebSimple v0.0.3

WebSimple UI for MUGS, including HTTP gateway and game UIs

Authors

  • Geoffrey Broadwell

License

Artistic-2.0

Dependencies

Cro::HTTPCro::WebAppMUGS::Core:ver<0.0.3>MUGS::Games:ver<0.0.3>

Test Dependencies

Provides

  • MUGS::App::WebSimple
  • MUGS::App::WebSimple::Routes
  • MUGS::App::WebSimple::Session
  • MUGS::UI::WebSimple
  • MUGS::UI::WebSimple::Game::NumberGuess
  • MUGS::UI::WebSimple::Game::Snowman
  • MUGS::UI::WebSimple::Genre::Guessing

Documentation

The Camelia image is copyright 2009 by Larry Wall. "Raku" is trademark of the Yet Another Society. All rights reserved.