крупное обновление документации
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
# SRV — TrinityCore and AzerothCore Integration
|
||||
|
||||
## Цель
|
||||
|
||||
Поддержать server emulators как versioned backends: protocol-compatible runtime, безопасное редактирование данных и расширение mechanics через modules/scripts.
|
||||
|
||||
## SRV-1. Environment model
|
||||
|
||||
- `ServerEnvironment`: family, core commit, DB revision, modules, config profile, endpoints и data artifact versions.
|
||||
- Отдельные disposable, local-dev, shared-test, staging и production classes.
|
||||
- Credentials/secrets вне Content Project.
|
||||
- Capability discovery проверяет schema fingerprint и optional modules/tables/hooks.
|
||||
- Unknown environment всегда read-only.
|
||||
|
||||
## SRV-2. Database snapshots
|
||||
|
||||
- Read-only import world schema subsets с provenance/checksum.
|
||||
- Auth/characters DB открываются только для нужных test/admin сценариев и никогда не становятся content source.
|
||||
- Snapshot filters reproducible; personal/account data excluded.
|
||||
- Canonical entities preserve supported fields and explicitly record unsupported/raw extras.
|
||||
- Incremental snapshot возможен, но full consistency snapshot остаётся verification path.
|
||||
|
||||
## SRV-3. Canonical mappings
|
||||
|
||||
- Creature/gameobject templates, models, spawns, addons, formations, movement, texts.
|
||||
- Quests, relations, objectives, POI, conditions, gossip.
|
||||
- Loot/reference loot, vendors, trainers, items, reputation.
|
||||
- SmartAI, script names, waypoint/script tables.
|
||||
- Instances, encounters, LFG, graveyards, teleports, game events, weather, transports.
|
||||
- Каждая mapping имеет per-core capability table и round-trip tests.
|
||||
|
||||
## SRV-4. Change sets and SQL
|
||||
|
||||
- Immutable change set: target fingerprint, preconditions, ordered operations, checksum.
|
||||
- SQL generation соответствует conventions целевого core/profile.
|
||||
- Custom SQL хранится в version control и compatible custom/module directory, не только применяется напрямую.
|
||||
- Dry-run на disposable DB, targeted post-apply queries, core startup smoke.
|
||||
- Idempotent migration или безопасное precondition failure.
|
||||
- Rollback где возможен; destructive/irreversible operations требуют backup и явного подтверждения.
|
||||
|
||||
## SRV-5. Scripts and modules
|
||||
|
||||
- DB/SmartAI для выразимых data-driven mechanics.
|
||||
- C++ module/script skeleton для mechanics, требующих server hooks.
|
||||
- AzerothCore modules namespaced config/SQL/hooks; core patch — только если hook принципиально отсутствует.
|
||||
- TrinityCore adapter следует его текущим script/customization conventions отдельно.
|
||||
- Build artifact включает source, config.dist, SQL, tests и compatibility manifest.
|
||||
- Client extension capability договаривается явно; hidden custom opcode запрещён.
|
||||
|
||||
## SRV-6. Server data artifacts
|
||||
|
||||
- DBC/maps/vmaps/mmaps versions связываются с ContentBundleManifest.
|
||||
- Custom map требует согласованного client terrain, server maps/collision/pathfinding и DB Map/Area data.
|
||||
- OpenWC navmesh не объявляется mmap до binary/query/live behavior compatibility.
|
||||
- Asset/map IDs распределяются стабильно и проверяются на collision.
|
||||
- Client/server package mismatch блокирует playtest с actionable diagnostic.
|
||||
|
||||
## SRV-7. Protocol compatibility
|
||||
|
||||
- Baseline 3.3.5a build 12340 остаётся общим.
|
||||
- Core-specific quirks описываются named capabilities и fixtures.
|
||||
- Custom extensions используют versioned handshake/profile и fallback/rejection.
|
||||
- Server authority одинаково соблюдается для обеих families.
|
||||
- Compatibility matrix закрепляет tested commits, а не расплывчатое «поддерживает AzerothCore».
|
||||
|
||||
## SRV-8. Test environments
|
||||
|
||||
- Docker/managed local environment для repeatable DB/core setup, где поддерживается.
|
||||
- Seed accounts/characters synthetic и не содержат реальные credentials.
|
||||
- Reset DB через assembler/base + project migrations.
|
||||
- Logs world/auth/database/client собираются с correlation metadata.
|
||||
- DB-only change test, module build test, startup smoke, scripted client scenario и cleanup.
|
||||
|
||||
## SRV-9. Existing tools
|
||||
|
||||
- Keira3 — reference для field semantics, SQL generation и AzerothCore DB UX.
|
||||
- AzerothCore wiki/schema/module template — primary backend documentation.
|
||||
- TrinityCore source/schema/tools — primary для Trinity profile.
|
||||
- Noggit/WoW modding tools — client-world authoring reference, но не server schema oracle.
|
||||
- OpenWC Editor объединяет workflow, но сохраняет raw SQL preview и ссылки на upstream docs.
|
||||
|
||||
## Gate
|
||||
|
||||
Одна canonical сущность проходит import → edit → diff → dry-run → apply → reimport на каждом supported profile без silent loss; module/content packages воспроизводимы; production write disabled by default; test environment очищается.
|
||||
Reference in New Issue
Block a user