Chat Server
Time for a little nostalgia, from the 1980s through the 2000s. Those years were full of talkers, MUDs and MUSHes: real-time chat and games, all of it text, reached by telnet or a client made for the job. Most of them have long since left the internet, replaced by newer games and messaging.
This server is a throwback to that. The days we grew up online and spent playing these games.
It is a bare-bones chat system, and it works. Use it straight out of the box, or do what we used to do: tinker with it, customise it, add to it, and make it your own.
Key Features
- Telnet, SSH, or both. SSH has no SSH password. The chat name is still the first prompt.
- IPv4, IPv6, or both.
stackisipv4,ipv6, ordual. - Country lookup from an MMDB file. Loopback is Localhost, a private address is Private Network, and a miss is Unknown.
- Saved players, bcrypt passwords, and ranks from newbie through Super Admin.
- MFA with a six-digit code. The secret is sealed in the player file with the password.
- Rooms, a map, tells, shouts, and staff tools for residents, super users, and admins.
Install
pip install lupaxa-chat-server
Requires Python 3.10+. AsyncSSH, bcrypt, colorama, cryptography, maxminddb, PyYAML, and qrcode are the runtime dependencies.
Run
The server will not start without a config file. There is no default path. From a checkout, setup runs once while the talker is stopped:
chat-server setup -c config/config.yml
chat-server -c config/config.yml
python -m lupaxa.chat_server -c config/config.yml
The files under config/ are one example. After
pip install lupaxa-chat-server, create the config, the rooms file, and
the help file yourself.
Documentation
- Getting Started covers the config file and how to run.
- Security covers the checks on a connection, including SSH and MFA.
- Connect, Players, Rooms, and Commands are how a player uses it.
- Reference is the config keys, ranks, and public names.
- Examples is a short telnet session and the SSH command.
- Developer Docs is for changing the source. It is not part of the public site.
Metadata
Release files for lupaxa-chat-server 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| lupaxa_chat_server-0.4.0.tar.gz | 104.4 kB | With provenance | Details for lupaxa_chat_server-0.4.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| lupaxa_chat_server-0.4.0-py3-none-any.whl | Python 3 | none | any | Details for lupaxa_chat_server-0.4.0-py3-none-any.whl |
Total release size: 227.5 kB
Release files / lupaxa_chat_server-0.4.0.tar.gz
| Download URL | lupaxa_chat_server-0.4.0.tar.gz |
|---|---|
| Size | 104.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b3ba8c6238134264dfe766d3cec1e0ba31791c721aba1c425980447feb481d1b
|
|
BLAKE2b-256 checksum How to use checksums |
a58dc766b117e350b99a985be7237b3ea484050a83005c14a46b1fa2a8141440
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.
Transparency logRelease files / lupaxa_chat_server-0.4.0-py3-none-any.whl
| Download URL | lupaxa_chat_server-0.4.0-py3-none-any.whl |
|---|---|
| Size | 123.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
be1ab0840274403124709bfb1e6eece5139574d112af436184157222d90a869f
|
|
BLAKE2b-256 checksum How to use checksums |
75f09387fd18c6a2bd25059bc8778f493425bf75359375e44818f32ef0178cf8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.
Transparency logSecurity for lupaxa-chat-server 0.4.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for lupaxa_chat_server-0.4.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.