Свернуть ↑
Когда я взял сервер исходников l2jfrozen, l2j, ... их много, не важно какие.
Я лишь посмотрел структуры реализаций, какая-то лучше, какая-то хуже не важно (заключается - это в обработке персонажа, а о входе так никто и не догадался). Структура от <матное слово>, сильно много объектов и методов, вообще глобально не продумана логика построения концепций.
Структуры классов и свойств, методов и реализаций их тел, выглядят так, что пишут лиж-бы было " Нет у нас времени! ". " Времени надо всего то было " - Спроектировать весь проект. И написать аккуратно всю реализацию на 1 персонажа и аккуратный пакетник (авто-контроллер с переданным " xml, json " - со всеми наименованиями) - для обработки динамически, какой нужно когда он запросится.
Все оторвано от реализации...
Игровые предметы - вообще ни к чему не обязываются и не привязаны к игровым действиям, их можно получить методом клиента, а не сервера, хоть и работает на сервере. Когда вы пытаетесь отправлять с клиента полученные пакеты " еще хочу ", выполнены уже ранее, можно изменив пакет получить и другие предметы.
! Х. Ну! А если будет невозможно принять, уже приняло?! Пусть не будет получения предметов просто так.
Даже адену не просто так, а придется убить кого-то или сделать, что - то, но, что - бы нельзя вновь было посылать, уже выполнялось и нужно заново. Моб убит и его больше нет или никто не был убит. Не важно должно быть подтверждения всему " в буквальном и подробном " - смыслах.
Меньше сука Объектов и Классов, методов, свойств, меньше!
Зачем делать вообще копипасты!? На java можно написать крутую динамику реализаций.
<матное слово>, каждый раз компилить ядро? И делать рестарт?
Что-то изменил, а серв включен, " рестарт ", ппц, так всегда, народу не давать играть.
! Обновлять скрипт-код из игры, пусть сервер будет вообще в открытом виде и загружать его и обновлять будет ядро на java.
И привязать " на уникальный юник " каждую область сервера для обновления. А если кто - то играет, ему высветится окошко подождите сервер обновляет " юник " - раздел, а если полный рестарт захотелось, а не по одному, то игроку высветится окошко " Ожидайте восстановление соединения, сервер перезагружается " - действия в игре не будут работать и когда сервер загрузился он восстанавливает " стак сохраненных клиентов которые еще существуют ". Схема большая получится ну ничего зато будет работать автоматически. Главное все грамотно и логично спроектировать, а только потом писать скрипт-код.