rom24-quickmud-python 2.13.29__py3-none-any.whl → 2.13.31__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.31.dist-info}/METADATA +52 -46
- {rom24_quickmud_python-2.13.29.dist-info → rom24_quickmud_python-2.13.31.dist-info}/RECORD +6 -6
- {rom24_quickmud_python-2.13.29.dist-info → rom24_quickmud_python-2.13.31.dist-info}/WHEEL +0 -0
- {rom24_quickmud_python-2.13.29.dist-info → rom24_quickmud_python-2.13.31.dist-info}/entry_points.txt +0 -0
- {rom24_quickmud_python-2.13.29.dist-info → rom24_quickmud_python-2.13.31.dist-info}/licenses/LICENSE +0 -0
- {rom24_quickmud_python-2.13.29.dist-info → rom24_quickmud_python-2.13.31.dist-info}/top_level.txt +0 -0
{rom24_quickmud_python-2.13.29.dist-info → rom24_quickmud_python-2.13.31.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.31
|
|
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.31
|
|
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
|
|
@@ -279,9 +275,18 @@ Contributions are welcome! Please read our [Contributing Guidelines](CONTRIBUTIN
|
|
|
279
275
|
## 📚 Documentation
|
|
280
276
|
|
|
281
277
|
### Verification Status
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
278
|
+
|
|
279
|
+
The parity verification stack has four layers — consult all four, not just the first:
|
|
280
|
+
|
|
281
|
+
| Layer | What it measures | Document |
|
|
282
|
+
|-------|-----------------|----------|
|
|
283
|
+
| Per-file audit | Every ROM C function has a Python equivalent | [ROM C subsystem tracker](docs/parity/ROM_C_SUBSYSTEM_AUDIT_TRACKER.md) |
|
|
284
|
+
| Cross-file invariants | Contracts spanning modules (message delivery, registry, RNG, identity, …) | [Cross-file invariants tracker](docs/parity/CROSS_FILE_INVARIANTS_TRACKER.md) — 25 enforced |
|
|
285
|
+
| Divergence class roster | Structural C↔Python gaps (async, int-math, pointer identity, …) | [Divergence class roster](docs/parity/DIVERGENCE_CLASS_ROSTER.md) |
|
|
286
|
+
| Differential harness | C engine vs Python port, identical scenarios, state diffed | [Diff harness findings](tools/diff_harness/FINDINGS.md) |
|
|
287
|
+
|
|
288
|
+
- [ROM parity verification guide](docs/ROM_PARITY_VERIFICATION_GUIDE.md) — methodology, confidence tiers, when to use each layer
|
|
289
|
+
- [ROM 2.4b6 Parity Certification](docs/ROM_2.4B6_PARITY_CERTIFICATION.md) — historical document; predates cross-file invariants methodology
|
|
285
290
|
|
|
286
291
|
### User Documentation
|
|
287
292
|
- [User Guide](docs/USER_GUIDE.md) - Player and server operator documentation
|
|
@@ -289,8 +294,9 @@ Contributions are welcome! Please read our [Contributing Guidelines](CONTRIBUTIN
|
|
|
289
294
|
- [Builder Migration Guide](docs/BUILDER_MIGRATION_GUIDE.md) - For ROM builders transitioning to QuickMUD
|
|
290
295
|
|
|
291
296
|
### Developer Documentation
|
|
292
|
-
- [ROM Parity Feature Tracker](docs/parity/ROM_PARITY_FEATURE_TRACKER.md) -
|
|
293
|
-
- [
|
|
297
|
+
- [ROM Parity Feature Tracker](docs/parity/ROM_PARITY_FEATURE_TRACKER.md) - Feature-level parity backlog
|
|
298
|
+
- [Integration Test Coverage Tracker](docs/parity/INTEGRATION_TEST_COVERAGE_TRACKER.md) - Coverage by gameplay system
|
|
299
|
+
- [ROM API Reference](docs/ROM_API_COMPLETION_REPORT.md) - ROM C-compatible public API
|
|
294
300
|
- [Installation Guide](docs/installation.md)
|
|
295
301
|
- [Configuration](docs/configuration.md)
|
|
296
302
|
- [World Building](docs/world-building.md)
|
|
@@ -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.31.dist-info/licenses/LICENSE,sha256=anQ2j9As6sIC8tZgQCXbo0-09JDH9vPiqhA9djnOvkY,1078
|
|
222
|
+
rom24_quickmud_python-2.13.31.dist-info/METADATA,sha256=ERfLJl-4STdVTJWeofCvhgrICJ9R_dMCnzNiR34TgO4,18767
|
|
223
|
+
rom24_quickmud_python-2.13.31.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
|
|
224
|
+
rom24_quickmud_python-2.13.31.dist-info/entry_points.txt,sha256=VFru08UQTXZA_CkK-NBjJmWHyEX5a3864fQHjhaojbw,41
|
|
225
|
+
rom24_quickmud_python-2.13.31.dist-info/top_level.txt,sha256=Fk1WPmabIIjp7_iZXLYpbAVqiq7lG7TeAHt30AsOKtQ,4
|
|
226
|
+
rom24_quickmud_python-2.13.31.dist-info/RECORD,,
|
|
File without changes
|
{rom24_quickmud_python-2.13.29.dist-info → rom24_quickmud_python-2.13.31.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{rom24_quickmud_python-2.13.29.dist-info → rom24_quickmud_python-2.13.31.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
{rom24_quickmud_python-2.13.29.dist-info → rom24_quickmud_python-2.13.31.dist-info}/top_level.txt
RENAMED
|
File without changes
|