Сервер MMORPG на Java
Як влаштований сервер багатокористувацької гри зсередини: мережевий шар на Netty, тік світу, видимість, бій, персистентність і навантаження.
📚 10 модулів📝 10 уроків⏱ 10 модулів
Програма курсу
Модуль 1. Архітектура ігрового сервера1 ур.
- ▶Архітектура ігрового сервера: з чого складається світБезкоштовно
Модуль 2. Мережевий шар на Netty1 ур.
- 🔒Мережевий шар на Netty: свій бінарний протокол
Модуль 3. Login-сервер і автентифікація1 ур.
- 🔒Login-сервер, автентифікація і сесії
Модуль 4. Ігровий цикл і тік світу1 ур.
- 🔒Ігровий цикл: тік світу й планувальник
Модуль 5. Модель світу: персонажі, предмети, інвентар1 ур.
- 🔒Модель світу: персонажі, предмети, інвентар
Модуль 6. Персистентність: MySQL і батчинг1 ур.
- 🔒Персистентність: MySQL, пул з'єднань, батчинг
Модуль 7. Простір і видимість: регіони, broadcast1 ур.
- 🔒Простір і видимість: регіони, knownlist, broadcast
Модуль 8. Бій, навички, стани1 ур.
- 🔒Бій, навички, стани й захист від читерства
Модуль 9. NPC, спавн і AI1 ур.
- 🔒NPC, спавн і AI
Модуль 10. Навантаження, профілювання, capstone1 ур.
- 🔒Навантаження, профілювання, capstone
Про курс
Про курс
Це курс на нашому власному матеріалі. Ми тримаємо живий світ Ейрін і тут розбираємо рівно ті системи, які в ньому працюють: чому ігровий цикл не можна писати як звичайний веб-запит, як сервер вирішує, кому надсилати пакет про твій крок, і що ламається першим, коли на сервер заходить тисяча гравців.
Чого ви навчитеся
- Архітектура ігрового сервера: login, game, база, їх межі
- Мережевий шар на Netty: свій бінарний протокол, кодеки, backpressure
- Ігровий цикл: тік, планувальник, чому нема місця блокуючим викликам
- Просторова видимість: регіони, knownlist, широкомовлення
- Бій: формули, кулдауни, стани, стійкість до читерства
- Персистентність: батчинг у MySQL замість запису на кожен рух
- Профілювання під навантаженням і полювання на GC-паузи
Для кого
Для тих, хто вже пише на Java і хоче зрозуміти системи реального часу. Це не курс для першого знайомства з мовою.
Вимоги
Впевнена Java, розуміння колекцій і потоків. Курс Java Pro — хороша підготовка.