Metadata-Version: 2.4
Name: django-moo
Version: 0.65.3
Summary: A game server for hosting text-based online MOO-like games.
Project-URL: Repository, https://gitlab.com/bubblehouse/django-moo
Author-email: Phil Christensen <phil@bubblehouse.org>
License: AGPL
License-File: LICENSE
Requires-Python: <3.12,>=3.11
Requires-Dist: asyncssh[bcrypt]<3,>=2.14.0
Requires-Dist: boto3>=1.42.63
Requires-Dist: celery[redis]<6,>=5.4.0
Requires-Dist: django-ace<2,>=1.32.4
Requires-Dist: django-celery-beat<3,>=2.6.0
Requires-Dist: django-celery-results<3,>=2.5.1
Requires-Dist: django-compressor>=4.6.0
Requires-Dist: django-cte>=3.0.0
Requires-Dist: django-simplesshkey<3,>=2.1.0
Requires-Dist: django-storages>=1.14.6
Requires-Dist: django<5.1,>=5
Requires-Dist: more-itertools>=10.7.0
Requires-Dist: opentelemetry-instrumentation-celery>=0.61b0
Requires-Dist: opentelemetry-instrumentation-django>=0.61b0
Requires-Dist: opentelemetry-sdk>=1.40.0
Requires-Dist: packaging>=25.0
Requires-Dist: prompt-toolkit<4,>=3.0.39
Requires-Dist: psycopg2-binary<3,>=2.9.7
Requires-Dist: ptpython<4,>=3.0.23
Requires-Dist: python-redis-cache>=4.0.2
Requires-Dist: redis>=5.2.1
Requires-Dist: restrictedpython>=7.0
Requires-Dist: rich>=13.5.3
Requires-Dist: uwsgi<3,>=2.0.22
Requires-Dist: watchdog>=4.0.0
Requires-Dist: webssh<2,>=1.6.2
Description-Content-Type: text/markdown

# DjangoMOO
> "LambdaMOO on Django"

![release](https://gitlab.com/bubblehouse/django-moo/-/badges/release.svg)
![pipeline](https://gitlab.com/bubblehouse/django-moo/badges/main/pipeline.svg?ignore_skipped=true&job=test)
![coverage](https://gitlab.com/bubblehouse/django-moo/badges/main/coverage.svg?job=test)
![quality](https://bubblehouse.gitlab.io/django-moo/badges/lint.svg)
![docs](https://readthedocs.org/projects/django-moo/badge/?version=latest)

DjangoMOO is a game server for hosting text-based online MOO-like games.

## Quick Start
Checkout the project and use Docker Compose to run the necessary components:

    git clone https://gitlab.com/bubblehouse/django-moo
    cd django-moo
    docker compose up

Run `migrate`, `collectstatic`, and bootstrap the initial database with some sample objects and users:

    docker compose run webapp manage.py migrate
    docker compose run webapp manage.py collectstatic
    docker compose run webapp manage.py moo_init
    docker compose run webapp manage.py createsuperuser --username phil
    docker compose run webapp manage.py moo_enableuser --wizard phil Wizard

Now you should be able to connect to https://localhost/ and login with the superuser you just created, described below.

## Login via Web

To make things easier for folks without SSH access or who are behind firewalls, the server interface is exposed through [webssh](https://github.com/huashengdun/webssh).

![WebSSH Client Example](https://gitlab.com/bubblehouse/django-moo/-/raw/main/docs/images/webssh-client-example.png)

This client is only able to open connections to the local SSH server.

### Admin Interface

As a secondary way to view the contents of a running server, a Django Admin interface is available at `/admin`. It's really a last resort for most things, but it's still the best way to modify verb code in a running server:

![Django Admin Example](https://gitlab.com/bubblehouse/django-moo/-/raw/main/docs/images/django-admin-example.png)

## Login via SSH

Of course, it's also possible (perhaps even preferred) to connect directly over SSH:

![SSH Client Example](https://gitlab.com/bubblehouse/django-moo/-/raw/main/docs/images/ssh-client-example.png)

It's also possible to associate an SSH Key with your user in the Django Admin so as to skip the password prompt.

When you're done exploring, you can hit `Ctrl-D` to exit.
