README

NAME

MUGS-Core - Core modules for MUGS (Multi-User Gaming Services)

SYNOPSIS

# Setting up a simple MUGS-Core development environment
mkdir MUGS
cd MUGS
git clone [email protected]:Raku-MUGS/MUGS-Core.git
cd MUGS-Core
zef install --deps-only .
raku -Ilib bin/mugs-admin create-universe

DESCRIPTION

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

MUGS-Core is the core of MUGS (Multi-User Gaming Services), a Raku-based platform for game service development. In other words, it is a set of basic services written in the Raku language for creating client-server and multi-user games. It abstracts away the boilerplate of managing player identities, tracking active games and sessions, sending and receiving messages and actions, and so forth.

This Proof-of-Concept release includes a WebSocket-based game server, simple admin and developer tools, and simple "games" intended primarily for testing. The game server can store data using either an internal ephemeral/test storage driver, or in SQLite databases on disk using a storage driver based on the Red ORM.

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::Core v0.0.3

Core modules for MUGS (Multi-User Gaming Services)

Authors

  • Geoffrey Broadwell

License

Artistic-2.0

Dependencies

Cro::WebSocketCrypt::SodiumPasswordHashDBIishJSON::FastLog::TimelinePluggableRedTemp::PathYAMLish

Test Dependencies

Provides

  • MUGS::App::Admin
  • MUGS::App::DevTool
  • MUGS::App::LocalUI
  • MUGS::App::WebSocketServer
  • MUGS::App::WebSocketServer::Routes
  • MUGS::Authentication
  • MUGS::Client
  • MUGS::Client::Connection::Supplier
  • MUGS::Client::Connection::WebSocket
  • MUGS::Client::Game::Echo
  • MUGS::Client::Game::Lobby
  • MUGS::Client::Genre::Test
  • MUGS::Connection
  • MUGS::Core
  • MUGS::Identity
  • MUGS::Message
  • MUGS::Server
  • MUGS::Server::Connection::Supplier
  • MUGS::Server::Connection::WebSocket
  • MUGS::Server::Game::Echo
  • MUGS::Server::Game::Lobby
  • MUGS::Server::Genre::Test
  • MUGS::Server::LogTimelineSchema
  • MUGS::Server::Storage::Credentials
  • MUGS::Server::Storage::Driver::Fake
  • MUGS::Server::Storage::Driver::Fake::Credentials
  • MUGS::Server::Storage::Driver::Fake::Identities
  • MUGS::Server::Storage::Driver::Red::SQLite
  • MUGS::Server::Storage::Driver::Red::SQLite::IdentitySchema
  • MUGS::Server::Storage::Identities
  • MUGS::Server::Stub
  • MUGS::Server::Universe
  • MUGS::UI
  • MUGS::Universe
  • MUGS::Util::Config
  • MUGS::Util::File
  • MUGS::Util::ImplementationRegistry
  • MUGS::Util::StructureValidator

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