rom24-quickmud-python 2.13.29__py3-none-any.whl → 2.13.30__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {rom24_quickmud_python-2.13.29.dist-info → rom24_quickmud_python-2.13.30.dist-info}/METADATA +37 -41
- {rom24_quickmud_python-2.13.29.dist-info → rom24_quickmud_python-2.13.30.dist-info}/RECORD +6 -6
- {rom24_quickmud_python-2.13.29.dist-info → rom24_quickmud_python-2.13.30.dist-info}/WHEEL +0 -0
- {rom24_quickmud_python-2.13.29.dist-info → rom24_quickmud_python-2.13.30.dist-info}/entry_points.txt +0 -0
- {rom24_quickmud_python-2.13.29.dist-info → rom24_quickmud_python-2.13.30.dist-info}/licenses/LICENSE +0 -0
- {rom24_quickmud_python-2.13.29.dist-info → rom24_quickmud_python-2.13.30.dist-info}/top_level.txt +0 -0
{rom24_quickmud_python-2.13.29.dist-info → rom24_quickmud_python-2.13.30.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rom24-quickmud-python
|
|
3
|
-
Version: 2.13.
|
|
3
|
+
Version: 2.13.30
|
|
4
4
|
Summary: A modern Python port of the ROM 2.4b6 MUD engine with full telnet server and JSON world loading
|
|
5
5
|
Author-email: Mark Jedrzejczyk <mark.jedrzejczyk@gmail.com>
|
|
6
6
|
Maintainer-email: Mark Jedrzejczyk <mark.jedrzejczyk@gmail.com>
|
|
@@ -59,15 +59,15 @@ Dynamic: license-file
|
|
|
59
59
|
|
|
60
60
|
# QuickMUD - A Modern ROM 2.4 Python Port
|
|
61
61
|
|
|
62
|
-
[](https://github.com/Nostoi/rom24-quickmud-python)
|
|
63
63
|
[](https://www.python.org/downloads/)
|
|
64
64
|
[](https://opensource.org/licenses/MIT)
|
|
65
65
|
[](https://github.com/Nostoi/rom24-quickmud-python)
|
|
66
|
-
[](docs/parity/ROM_C_SUBSYSTEM_AUDIT_TRACKER.md)
|
|
67
67
|
[](docs/parity/ROM_C_SUBSYSTEM_AUDIT_TRACKER.md)
|
|
68
68
|
[](tests/integration/)
|
|
69
69
|
|
|
70
|
-
**QuickMUD is a modern Python port of the legendary ROM 2.4b6 MUD engine**, derived from ROM 2.4b6, Merc 2.1 and DikuMUD. This is a complete rewrite that brings the classic text-based MMORPG experience to modern Python with async networking and JSON world data. The engine
|
|
70
|
+
**QuickMUD is a modern Python port of the legendary ROM 2.4b6 MUD engine**, derived from ROM 2.4b6, Merc 2.1 and DikuMUD. This is a complete rewrite that brings the classic text-based MMORPG experience to modern Python with async networking and JSON world data. The engine is **feature-complete and playable** — all 255 ROM commands, combat, spells, and world systems are implemented and green. Parity fidelity is in a **beta hardening phase**: high confidence on audited + test-covered surfaces, with a systematic methodology (per-file audits → cross-file invariants → differential harness) closing the remaining behavioral tail.
|
|
71
71
|
|
|
72
72
|
## 🎮 What is a MUD?
|
|
73
73
|
|
|
@@ -75,7 +75,7 @@ A "[Multi-User Dungeon](https://en.wikipedia.org/wiki/MUD)" (MUD) is a text-base
|
|
|
75
75
|
|
|
76
76
|
## ✨ Key Features
|
|
77
77
|
|
|
78
|
-
- **🎯 ROM parity
|
|
78
|
+
- **🎯 Parity beta**: feature-complete and playable; all 255 ROM commands implemented; parity fidelity is systematically hardened surface-by-surface via per-file audits, cross-file invariant tests, and a live differential harness against the original C engine
|
|
79
79
|
- **🚀 Modern Python Architecture**: Fully async/await networking with SQLAlchemy ORM
|
|
80
80
|
- **📡 Multiple Connection Options**: Telnet, WebSocket, and SSH server support
|
|
81
81
|
- **🗺️ JSON World Loading**: Easy-to-edit world data with 352+ room resets
|
|
@@ -83,7 +83,7 @@ A "[Multi-User Dungeon](https://en.wikipedia.org/wiki/MUD)" (MUD) is a text-base
|
|
|
83
83
|
- **⚔️ ROM Combat System**: Classic ROM combat mechanics and skill system
|
|
84
84
|
- **👥 Social Features**: Say, tell, shout, and 100+ social interactions
|
|
85
85
|
- **🛠️ Admin Commands**: Teleport, spawn, ban management, and OLC building
|
|
86
|
-
- **📊 Comprehensive Testing**: 5,
|
|
86
|
+
- **📊 Comprehensive Testing**: 5,451 passing tests across unit, integration, and command-registry suites
|
|
87
87
|
- **🔧 ROM C-Compatible API**: Public API wrappers for external tools and scripts (27 functions)
|
|
88
88
|
|
|
89
89
|
## 📦 Installation
|
|
@@ -222,42 +222,38 @@ python -m mud # Start development server
|
|
|
222
222
|
|
|
223
223
|
## 🎯 Project Status
|
|
224
224
|
|
|
225
|
-
**
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
(`recycle.c`, `mem.c`, `imc.c`).
|
|
240
|
-
*
|
|
241
|
-
|
|
242
|
-
cross-file invariants tracker for why per-file audits are necessary but not
|
|
243
|
-
sufficient). See
|
|
225
|
+
**Stage: parity beta** — feature-complete and playable; parity fidelity is being
|
|
226
|
+
systematically hardened toward ROM-exact behavioral equivalence.
|
|
227
|
+
|
|
228
|
+
- **Version**: 2.13.30
|
|
229
|
+
- **Playability**: ✅ All 255 ROM commands implemented. Combat, spells, skills,
|
|
230
|
+
movement, shops, mob programs, OLC building, and admin tools work and pass their
|
|
231
|
+
tests. You can run a server and play today.
|
|
232
|
+
- **Parity confidence**: high on audited + test-covered surfaces; moderate on the
|
|
233
|
+
uncovered tail (surfaces not yet reached by the differential harness). "Parity beta"
|
|
234
|
+
means: the engine behaves like ROM on everything we've checked; there may be
|
|
235
|
+
edge-case divergences we haven't checked yet. The standard stages (alpha/beta/GA)
|
|
236
|
+
measure feature completeness — for a port the meaningful axis is *parity confidence*,
|
|
237
|
+
not whether features exist.
|
|
238
|
+
- **ROM C Source Audit**: ✅ **43 / 43 files audited** — every applicable ROM C file
|
|
239
|
+
has a completed audit document (3 intentional N/A: `recycle.c`, `mem.c`, `imc.c`).
|
|
240
|
+
Per-file audits confirm *what was reviewed*; they don't by themselves certify
|
|
241
|
+
bit-for-bit behavioral parity. See
|
|
244
242
|
[`docs/parity/ROM_C_SUBSYSTEM_AUDIT_TRACKER.md`](docs/parity/ROM_C_SUBSYSTEM_AUDIT_TRACKER.md).
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
- **Test Suite**: ✅ **
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
output, boundary, and runtime-path tests on the highest-risk user-visible surfaces,
|
|
260
|
-
and closing the remaining documented parity gaps.
|
|
243
|
+
- **Cross-file Invariants**: ✅ **25 / 25 enforced** — contracts that span modules
|
|
244
|
+
(message delivery, prompt clamping, registry membership, same-room combat,
|
|
245
|
+
death/reconnect ordering, RNG determinism, persistence coherence, room-flag survival)
|
|
246
|
+
are each locked by a dedicated regression test. This layer catches the class of bug
|
|
247
|
+
that per-file audits structurally miss.
|
|
248
|
+
- **Differential harness**: ✅ live — the original ROM 2.4b6 C engine and the Python
|
|
249
|
+
port are run through identical scripted scenarios and their observable state is
|
|
250
|
+
diffed. Any behavioral divergence surfaces mechanically rather than requiring a
|
|
251
|
+
hand-written assertion. Coverage is growing; uncovered surfaces are the remaining
|
|
252
|
+
parity-confidence gap.
|
|
253
|
+
- **Test Suite**: ✅ **5,451 passed, 4 skipped** (full `pytest` run, ~150s parallel).
|
|
254
|
+
Unit, integration, command-registry, and differential-harness layers.
|
|
255
|
+
- **Active focus**: expanding differential harness scenario coverage and closing the
|
|
256
|
+
identified gap backlog (tracked in `docs/parity/*_C_AUDIT.md`).
|
|
261
257
|
- **Compatibility**: Python 3.10+, cross-platform
|
|
262
258
|
|
|
263
259
|
## 🏛️ Architecture
|
|
@@ -218,9 +218,9 @@ mud/world/obj_find.py,sha256=wVF3KlcEm4Bc4GiQZs4yWH5Ih87F-JSM7MtVI8cZEJs,5277
|
|
|
218
218
|
mud/world/time_persistence.py,sha256=GfhVr6H86Q4YXkeGhhgVAfm5s3ZBT8bF6K_zwqKRkAc,1663
|
|
219
219
|
mud/world/vision.py,sha256=XV92cnmf7c_z0GAraWyTc6cZ-mzyfLndwX9S6eFm4iE,12392
|
|
220
220
|
mud/world/world_state.py,sha256=DskgF4k48TrYP82eYyJE_PWtpwjmDHPAD_xy4CXN-es,8824
|
|
221
|
-
rom24_quickmud_python-2.13.
|
|
222
|
-
rom24_quickmud_python-2.13.
|
|
223
|
-
rom24_quickmud_python-2.13.
|
|
224
|
-
rom24_quickmud_python-2.13.
|
|
225
|
-
rom24_quickmud_python-2.13.
|
|
226
|
-
rom24_quickmud_python-2.13.
|
|
221
|
+
rom24_quickmud_python-2.13.30.dist-info/licenses/LICENSE,sha256=anQ2j9As6sIC8tZgQCXbo0-09JDH9vPiqhA9djnOvkY,1078
|
|
222
|
+
rom24_quickmud_python-2.13.30.dist-info/METADATA,sha256=kwjAWW4Q2oW3hI_CrP1QAFQk1s_knNfsRMZgFNe2SpQ,17885
|
|
223
|
+
rom24_quickmud_python-2.13.30.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
|
|
224
|
+
rom24_quickmud_python-2.13.30.dist-info/entry_points.txt,sha256=VFru08UQTXZA_CkK-NBjJmWHyEX5a3864fQHjhaojbw,41
|
|
225
|
+
rom24_quickmud_python-2.13.30.dist-info/top_level.txt,sha256=Fk1WPmabIIjp7_iZXLYpbAVqiq7lG7TeAHt30AsOKtQ,4
|
|
226
|
+
rom24_quickmud_python-2.13.30.dist-info/RECORD,,
|
|
File without changes
|
{rom24_quickmud_python-2.13.29.dist-info → rom24_quickmud_python-2.13.30.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{rom24_quickmud_python-2.13.29.dist-info → rom24_quickmud_python-2.13.30.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
{rom24_quickmud_python-2.13.29.dist-info → rom24_quickmud_python-2.13.30.dist-info}/top_level.txt
RENAMED
|
File without changes
|