Page:
System Architecture
Pages
Карта 16_10
Персонаж FDarkElf
Asset Notes
Content And Object Catalogs
Effects Pipeline
Home
MCP and Tools
NPC Elpy
Object Status Model
Project Overview
QA Release Readiness
Release Roadmap
Server Network Integration
System Architecture
Task Log
Task Tracking
Unity Client Overview
Unity Setup
Wiki Structure And Rules
Workflow For Agents And Issues
No results
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Архитектура системы
Общая схема
flowchart LR
Player["Player"] --> Unity["Unity Client"]
Unity --> Login["Login Server :2106"]
Login --> Game["Game Server :11000"]
Game --> LoginBridge["Login <-> Game :9014"]
Game --> DB["Server DB / templates"]
Game --> Geo["Geodata / pathfinding"]
Unity --> Assets["Unity Assets / Scenes / Prefabs"]
Unity --> Catalogs["Client data catalogs"]
Catalogs --> Wiki["Wiki object pages"]
DB --> Wiki
Assets --> Wiki
Основные части
| Часть | Роль |
|---|---|
| Unity client | Рендеринг, сцены, персонажи, UI, input, local representation, network client |
| Login server | Авторизация, session/play keys, список серверов, связь loginserver <-> gameserver |
| Game server | Мир, персонажи, NPC/монстры, spawn manager, combat, chat, inventory, shortcuts, sync |
| Content catalogs | Original/client/server data: skills, items, NPC, spawns, classes, packets, map scenes |
| Wiki | Документированное состояние каждого объекта и правила работы |
Data flow: вход в игру
- Unity client подключается к loginserver.
- Loginserver проверяет или создает account.
- Loginserver отдает server list и play/session keys.
- Client выбирает game server.
- Game server подтверждает вход.
- Client запрашивает characters.
- Game server отдает character list или создает random characters, если включен соответствующий режим.
- Client выбирает character и запрашивает world load.
- Game server переводит client в
IN_GAME, отдает player/world state.
Data flow: объект в мире
NPC/monster/map/object не считается готовым, пока не закрыты обе стороны:
- Unity side: scene/prefab/material/animator/collider/UI representation;
- server side: template/id/spawn/packet/state/AI/service behavior;
- Wiki side: object page, status, source files, verification evidence.
Где возникают типовые разрывы
| Разрыв | Пример | Что фиксировать в Wiki |
|---|---|---|
| Есть catalog id, но нет Unity visual | NPC id есть в NpcName, prefab не найден |
needs-prefab, source id, proposed visual |
| Есть prefab, но нет server binding | runtime NPC prefab есть, NPC id/spawn не выбран | needs-server-binding, path, expected service |
| Есть scene, но colliders не проверены | map cell загружается, но часть объектов проходится насквозь | needs-collision-audit, scene, object list |
| Есть skill id, но нет effect/icon/runtime | skill в catalog, но нет полного cast flow | needs-skill-runtime, skill id, missing pieces |
| Есть packet class, но нет end-to-end test | Java class найден, Unity flow не проверен | needs-packet-test, packet, expected trace |
Основной архитектурный принцип
Для production нельзя ориентироваться только на наличие ассетов. Готовность определяется связкой:
original data -> server runtime -> Unity runtime -> UI feedback -> verification -> Wiki status.
Вики L2 Unity
- Обзор проекта
- Настройка Unity и запуск
- Дорожная карта релиза
- Задачи и планирование
- Эффекты и pipeline skills
- Ассеты, сцены и импорт
- MCP и инструменты
- Журнал работ
Объекты
- Персонажи
- Карты
- NPC и монстры