Page:
Server Network Integration
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.
Сервер и сетевой обмен
Серверная связка
В проекте есть два серверных подпроекта:
servers/l2-unity-loginserverservers/l2-unity-gameserver
Loginserver отвечает за:
- login/auth;
- session/play keys;
- server list;
- account state;
- связь loginserver <-> gameserver.
Gameserver отвечает за:
- world state;
- characters;
- NPC/monsters;
- spawn manager;
- geodata/pathfinding;
- player sync;
- chat;
- combat;
- inventory;
- shortcuts.
Локальные порты
| Назначение | Порт |
|---|---|
| login | 2106 |
| login <-> game | 9014 |
| game | 11000 |
Packet catalog
Generated catalog содержит 68 packet rows:
| Layer | Rows |
|---|---|
| GAME-CLIENT | 23 |
| GAME-SERVER | 34 |
| LOGIN-CLIENT | 3 |
| LOGIN-SERVER | 8 |
Каждый packet должен получить Wiki-страницу:
Wiki/Network/Packets/<Layer>/<PacketClass>
Что описывать на packet page
- layer;
- direction;
- class path;
- opcode/type;
- payload fields;
- read/write rules;
- caller on Unity side;
- handler on server side;
- validation rules;
- error codes;
- logs;
- reconnect/timeout behavior;
- example trace.
Интеграционный контракт с серверной стороной
Так как сервером занимается отдельный человек, каждая network task должна быть понятна без догадок:
- какой packet нужен;
- кто владелец изменения: Unity, server, оба;
- какие поля должны быть в payload;
- какой expected response;
- какой error path;
- какой лог должен появиться;
- как проверить двумя клиентами;
- какие тестовые account/character нужны.
Минимальные end-to-end flows
| Flow | Packets / systems |
|---|---|
| Login | login auth, server list, play ok/fail |
| Character select | char list, select, load world |
| Enter world | player info, object spawn, status update |
| Movement | move/rotate/direction packets, object movement sync |
| Target/combat | set target, attack, auto attack, damage, status updates |
| Chat | send message, message packet |
| Inventory | inventory list/update, use/drop/destroy/equip |
| Shortcuts | shortcut init/register/delete |
| Disconnect/reconnect | disconnect, restart, server close, state recovery |
Server readiness rule
Packet class exists не означает, что интеграция готова. Готовность есть только когда:
- Unity вызывает правильный flow;
- server handler подтвержден;
- payload documented;
- happy path проверен;
- error path проверен;
- logs позволяют расследовать проблему;
- Wiki page updated.
Вики L2 Unity
- Обзор проекта
- Настройка Unity и запуск
- Дорожная карта релиза
- Задачи и планирование
- Эффекты и pipeline skills
- Ассеты, сцены и импорт
- MCP и инструменты
- Журнал работ
Объекты
- Персонажи
- Карты
- NPC и монстры