Я познакомился с Lineage 2, когда был в начальной школе. Играл несколько лет, но замедление прогресса с ростом уровня было невыносимым, а запустить свой сервер было сложно. Так я забросил «линейку» на многие года. С тех пор заинтересовался IT, получил два высших образования и начал писать статьи на Хабр. Но мысль про свой сервер не оставляла меня.

Что произошло с игрой за 10+ лет? Можно ли сегодня прикоснуться к игре детства? Действительно ли «раньше было лучше» или это когнитивное искажение? Ответы на эти и другие вопросы ждут вас под катом.

Дисклеймер: статья написана исключительно в ознакомительных целях.

Я начал играть в Lineage 2 с версии Chronicle 4: Scions of Destiny, сокращенно — С4. Спустя время сервер обновился до версии Interlude, которую называют C6. Именно на С6 я провел больше всего времени.

Игровой процесс того времени помню плохо, а скриншотов, увы, не сохранилось. Помню, что доставал разговорами взрослых, которые пришли отдохнуть в игре после работы, но я видел цель и не видел препятствий. К счастью, со мной общались вежливо.

Большая часть интерфейса была на английском, как и сюжеты квестов. Английский я тогда не знал, а охотиться на монстров скучно. Вкладывал все силы в социализацию, так что прокачал персонажа только до 64 уровня из 80 возможных. Экипировку и прочие ценные вещи мне помогали доставать взрослые. Все происходило без внутриигровых покупок!

Даже спустя 13 лет в моей памяти сохранились воспоминания о главной площади Гирана, где было поле «торгашей», и недосягаемость красивого замка Аден. Пора проверить свои школьные олдскулы на прочность. Так ли хороши пейзажи городов, как мне подсказывает память.

Время начинать!

Используйте навигацию, если не хотите читать текст полностью:

Клиент игры
Игровой сервер?
В небо и выше
Если хочется поновее
Руофф
Заключение

Клиент игры


Lineage 2 — это корейская MMORPG от компании NCSoft, вышедшая в 2004 году. Упомянутые хроники С4 вышли в 2006, а С6 — в 2007. Официально эти версии в России и странах СНГ не появлялись. Интерфейс был переведен лишь частично, а квесты… Только обязательные, связанные с развитием персонажа, и то не факт. В базах знаний было написано «поговорите с X», а чего он там говорит — не так важно. :)

Официально в России Lineage 2 появилась в декабре 2008 года в версии Gracia Part 1, что через две версии после выхода Interlude. Издателем выступила компания «Иннова», которая до сих пор представляет Lineage 2 и все модификации на территории России.

В отличие от Minecraft, Factorio и прочих многопользовательских игр, Lineage 2 никогда не была «открытой». У Lineage 2 были только официальные сервера: в Южной Корее, Китае, США, Европе и России. Игровой клиент был ограничен достаточно строгими правилами — распространять и модифицировать клиент нельзя.

Этого уже достаточно, чтобы данный раздел статьи существенно уменьшился: ссылок и намеков не будет. Тем не менее, поделюсь набором интересных фактов.

  • Клиенты всех версий до High Five (2010-2011) не запускаются на Windows 10 x64. Процесс есть, а GUI не появляется.
  • Хотя клиент High Five запускается, он пытается обновить античит с серверов NCSoft, а там уже ничего нет. Так что игра закрывается.
  • В игре используется античит nProtect GameGuard. Он же используется в Helldivers 2.
  • Я субъективно сделал вывод, что Interlude является одной из самых популярных версий «оригинальной» игры.
  • Говорят, что существует клиент Interlude от NCSoft с фиксом для Windows 10.

В общем, если у вас сохранился официальный клиент Interlude, то доставайте виртуальную машину, устанавливайте Windows 7 или даже ХР и продолжим.



Игровой сервер?


Как и говорилось ранее, игровой сервер Lineage 2 существует только в одной форме: в официальной. Все остальное — игристое программное обеспечение. Исходного кода сервера в открытом виде нет. Что делать?

В 2005 году энтузиасты создали ответ на этот вопрос: эмулятор сервера L2J, написанный на Java с открытым исходном кодом под лицензией GPLv3. Сервер реализует большинство игровых механик, но даже сейчас какие-то из вариантов в квестах могут быть отмечены как «NOT IMPLEMENTED». Самый свежий коммит в проекте на момент написания статьи — 11 мая 2024, так что проект скорее жив. Попробуем развернуть.

Эмулятор сервера не использует никаких частей игрового клиента и в исходном коде не упоминается название игры. Более того, разработчики пресекают обсуждение всего, что связано с игровым клиентом. Похоже, что такой подход успешно спасает от юридических претензий и позволяет проекту жить.

Эмулятор L2J состоит из следующих частей:

  • LoginServer — точка входа, которая хранит информацию об учетных записях пользователей и позволяет игрокам выбрать нужный сервер;
  • GameServer — реализация игрового сервера;
  • Datapack — информация об игровом мире: реализация ИИ-монстров, неигровых персонажей, квестов, и т. д.;
  • Geodata — информация об окружении. Позволяет серверу корректно обрабатывать ситуации, когда персонаж проваливается сквозь землю.

В этой статье не будет про Geodata, потому что есть вопросы касательно авторского права. Сервер относительно корректно работает и без геодаты, но позволяет клиенту проваливаться при скольжении по наклонным поверхностям.

Для запуска сервера нужно подготовиться.

  1. Установить git и Java 21.
  2. Установить и преднастроить mariadb.
  3. Открыть порты 2106 (вход для пользователей на LoginServer) и 7777 (игровой сервер).
  4. Закрыть порт 9014 (порт для подключения игровых серверов к логин-серверу).

Я выполняю все команды на Ubuntu 22 и разворачиваю сервер версии Interlude. Подробнее процедура описана в документации l2jserver, но для версии High Five, последней в «оригинальной» игре.

Планируете запустить собственный игровой сервер? Используйте выделенные серверы, чтобы создать надежное и мощное окружение для вашей платформы.

# Ставим рекомендуемый дистрибутив JVM
apt install -y wget apt-transport-https gpg
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor | tee /etc/apt/trusted.gpg.d/adoptium.gpg > /dev/null
echo "deb https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | tee /etc/apt/sources.list.d/adoptium.list
apt update
apt install temurin-21-jdk
# Ставим git и unzip
apt install git unzip
# Ставим mariadb
apt install mariadb-server

Настраиваем mariadb:

# mysql_secure_installation
Switch to unix_socket authentication [Y/n] y
Change the root password? [Y/n] n
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

Создаем пользователя с максимальными правами для l2j:

# Заходим в БД, пароль по умолчанию пустой
mariadb -u root -p
# Выполняем команды, используйте другие пароли!
CREATE OR REPLACE USER 'l2j'@'%' IDENTIFIED BY 'l2jserver2019';
GRANT ALL PRIVILEGES ON *.* TO 'l2j'@'%' IDENTIFIED BY 'l2jserver2019';
FLUSH PRIVILEGES;
exit

Игровой сервер не нуждается в правах суперпользователя, поэтому выделяем отдельного пользователя и далее работаем от него.

# useradd game
# su - game 

Клонируем репозитории l2j:

mkdir ~/git
cd ~/git
# Ветка master, последняя актуальная версия
git clone -b master https://bitbucket.org/l2jserver/l2j-server-login.git
# Эмулятор сервера, выбираем ветку Interlude
git clone -b Interlude https://bitbucket.org/l2jserver/l2j-server-game.git
git clone -b Interlude https://bitbucket.org/l2jserver/l2j-server-datapack.git

У эмулятора сервера есть ветки на большинство игровых хроник, но все, кроме Interlude и High Five, не развиваются с 2015 года. Собираем:

cd ~/git/l2j-server-login/
chmod 755 mvnw 
cd ~/git/l2j-server-game/
chmod 755 mvnw 
cd ~/git/l2j-server-datapack/
chmod 755 mvnw 

Деплоим:

# Логин-сервер
mkdir -p ~/server/login
cd ~/server/login
unzip ~/git/l2j-server-login/target/l2j-server-login-*.zip -d .
# Игровой сервер
mkdir -p ~/server/game
cd ~/server/game
unzip ~/git/l2j-server-game/target/l2j-server-game-*.zip -d .
unzip ~/git/l2j-server-datapack/target/l2j-server-datapack-*.zip -d .

Теперь инициализируем базу данных начальными значениями. Это делается через отдельную утилиту l2j-cli:

mkdir ~/cli
cd ~/cli
wget https://l2jserver.com/api/download/cli/latest -O /tmp/l2jcli-latest.zip
unzip /tmp/l2jcli-latest.zip -d .
chmod 755 l2jcli.sh
db install -sql /home/game/server/login/sql -u l2j -p l2jserver2019 -m FULL -t LOGIN -c -mods
db install -sql /home/game/server/game/sql -u l2j -p l2jserver2019 -m FULL -t GAME -c -mods
quit

У меня в процессе установки скриптов была одна ошибка, но она не повлияла на результат:

Running l2jdb_create.sql...
[WARN ] 2024-05-17 18:53:07 ErrorPacket - Error: 1050-42S01: Table 'accounts' already exists
There has been an error executing file l2jdb_create.sql!
java.sql.SQLSyntaxErrorException: (conn=105) Table 'accounts' already exists

Если все выполнено верно, то в mariadb появится две базы данных: l2jgs и l2jls, для игрового сервера и логин-сервера соответственно. Осталось сконфигурировать общие параметры приложения.
  • ~/server/login/config/database.properties — меняем имя пользователя и пароль для подключения к mariadb.
  • ~/server/game/config/rates.properties — настройки внутриигровых множителей, по умолчанию множитель для всех параметров 1.
  • ~/server/game/config/server.properties — настройки сервера. Меняем базу данных в URL с l2jdb на l2jgs; Login=l2j; Password=l2jserver2019; MinProtocolRevision=737.

Множители сервера можно оставить без изменений, ведь если вы пришли «пробежаться» по воспоминаниям, то меню администратора решит все ваши проблемы. Но если вы поставите слишком большие числа, например, 10000 на выпадение предметов, то будет что-то подобное:

Запускаем логин-сервер. Скрипт запускает его в фоне:

cd ~/server/login
chmod +x *.sh
mkdir log

Если все хорошо, то в log/stdout.log будет примерно такой результат:

[INFO ] 2024-05-17 19:16:25 LoginServer: Loaded 2 banned IPs.
[INFO ] 2024-05-17 19:16:25 LoginServer: Listening for game servers on 127.0.0.1:9014.
[INFO ] 2024-05-17 19:16:25 LoginServer: Telnet server is currently disabled.
[INFO ] 2024-05-17 19:16:25 LoginServer: Login Server is now listening on *:2106.
[INFO ] 2024-05-17 19:16:25 UPnPService: Looking for UPnP Gateway Devices...

Затем повторяем процедуру для игрового сервера. В этот раз скрипт запускает сервер в текущей сессии, поэтому откройте screen или tmux.

cd ~/server/game
chmod +x *.sh
mkdir log

Если все хорошо, то лог игрового сервера не будет пугать, а логин-сервер зарегистрирует новый игровой сервер.

$ tail -n 4 ~/server/game/log/stdout.log
Connecting to login on 127.0.0.1:9014
Maximum Numbers of Connected Players: 100
Telnet server is currently disabled.
Registered on login as Server 1 : Bartz
$ tail -n 5 ~/server/login/log/stdout.log
[INFO ] 2024-05-17 19:25:00 GameServerThread: Updated game server Bartz[1] IPs.
[INFO ] 2024-05-17 19:25:00 GameServerThread: <адреса удалены>
[INFO ] 2024-05-17 19:25:00 GameServerThread: <адреса удалены>
[INFO ] 2024-05-17 19:25:00 GameServerThread: <адреса удалены>
[INFO ] 2024-05-17 19:25:00 GameServerAuth: Game Server Interlude enabled.

Отлично, сервер запущен, осталось подключиться. Адрес официального игрового сервера прописан в файле конфигурации внутри игрового клиента. Но есть проблемы. Во-первых, изменять клиент запрещено, а во-вторых, файл конфигурации зашифрован.

К счастью для нас, игровой клиент обращается к серверу по доменному имени. Так что задача подключения к эмулятору сводится к подмене DNS-ответа. Это можно сделать через hosts-файл:

789.174.486.787 l2authd.lineage2.com 

Способ с локальным hosts-файлом может не работать на более современных клиентах, где GameGuard следит за этим файлом. К счастью, это не единственный вариант. Если у вас Windows 7 или старше, то можно запускать с аргументами через командную строку:

@start l2.bin IP=127.0.0.1

Windows 10 отказывается запускать bin-файлы таким способом, поэтому можно открыть Visual Studio и быстро написать запускатор через WinAPI.

Скрытый текст
#include <iostream>
#include <Windows.h>
int main(int argc, char* argv[])
{
    STARTUPINFOA si;
    PROCESS_INFORMATION pi;
    // set the size of the structures
    ZeroMemory(&si, sizeof(si));
    si.cb = sizeof(si);
    ZeroMemory(&pi, sizeof(pi));
    char* cmdArgs[] = "l2.bin IP=127.0.0.1";
    // start the program up
    if (CreateProcessA
    (
        argv[1],   // the path
        cmdArgs,                // Command line
        NULL,                   // Process handle not inheritable
        NULL,                   // Thread handle not inheritable
        FALSE,                  // Set handle inheritance to FALSE
        CREATE_NEW_CONSOLE,     // Opens file in a separate console
        NULL,           // Use parent's environment block
        NULL,           // Use parent's starting directory 
        &si,            // Pointer to STARTUPINFO structure
        &pi           // Pointer to PROCESS_INFORMATION structure
    ) == 0) {
        std::cout << "Code: " << GetLastError() << std::endl;
        return 1;
    }
    // Close process and thread handles. 
    CloseHandle(pi.hProcess);
    CloseHandle(pi.hThread);
    return 0;
}



В моем Telegram-канале можно увидеть заметки по теме статей, над которыми я работаю. А еще там маленькие познавательные посты на разные темы.

Запускаем игру. Вводим логин-пароль, происходит авторегистрация и вот окно выбора сервера. Добро пожаловать обратно.

В небо и выше



Здравствуйте, мистер Баюм.

После регистрации и создания персонажа нужно будет первый раз залезть в базу данных. В базе данных l2jls в таблице accounts нужно изменить accesslevel на 8 для вашего аккаунта. В таблице characters нужно изменить accesslevel на 100 для вашего персонажа.

Эти операции можно выполнять через любой удобный инструмент взаимодействия с базой данных. В моем случае это функциональность подключения к БД в IDE PyCharm, но можно использовать SQL-интерфейс mariadb или освоить l2jcli. Единственное требование — выйти из аккаунта на момент применения изменений.


Небольшой коллаж админского меню.

После запуска ник вашего персонажа становится зеленым. Поздравляю, вы администратор. Панель администратора открывается командой //admin в чате. Не буду перечислять все возможности «админки», а только проясню некоторые детали.

  • Некоторые из команд применяются к выделенному персонажу/ монстру/ объекту. Чтобы выделить себя — нажмите по нику персонажа.
  • Вы можете создавать квестовые предметы по их идентификатору, но это не будет считаться получением предмета. Если квест требует от вас выбить 15 предметов из монстров, то вы можете «наколдовать» 14, а последний добыть честным путем, тогда подзадание квеста зачтется.
  • Аналогичным образом работают некоторые особенные монстры. Вы не сможете разбудить Баюма, если телепортируетесь прямо к нему в логово. Он скажет вам, что условия не выполнены. Нужно найти ту тряпочку и пройти через Вортекс как обычный пользователь. :)

В детстве я прокликивал квесты, не вдаваясь в реплики NPC. Поэтому я решил пройти «сюжетную» составляющую квестов Fate's Whisper и Mimir's Elixir (квесты на получение возможности брать саб-классы) и все четыре части Possessor of a precious soul — получение «нобла», то есть титула «дворянин».

Даже с возможностями администратора телепортироваться в определенные точки, неуязвимостью и мощью команды Kill это было долго. Каково же было тем, кто проходил это в оригинале? Наверное, им было весело.

Остался один не закрытый вопрос. Как стать героем? После получения дворянства нужно поучаствовать в олимпиаде. Проблема в том, что прежде необходимо поучаствовать в нескольких боях с другими персонажами, а мы тут одни. Второй и последний раз заходим в базу данных и заполняем одну строчку в таблице olympiad_nobbles, где:

  • char_id — это obj_Id из таблицы characters;
  • class_id и char_name также из таблицы characters;
  • olympiad_points и competitions_done — впишите любые положительные числа, чем больше — тем лучше.

После этого в меню администратора Game → Manual Hero. Готово, вы признанный герой и можете получить все положенные привилегии.

Когда играешь в Lineage 2 совершенно один, то большие и открытые, но пустые пространства немного угнетают. Не только пустотой, но и некоторой серостью. «Линейка» получала обновления каждый год. Может со временем стало лучше?

Если хочется поновее



Спустя столько лет…

Рассказать полную историю взлетов и падений Lineage 2 мне не под силу, но я попробую обозначить основные вехи. Обновления игры происходят каждые полгода по «главам» повествуемой «саги». Сейчас пять саг.

  • The Chaotic Chronicles. Это версии C0 — C4, 2004 — 2007.
  • The Chaotic Throne. Первая глава — та самая Interlude, последняя — High Five Part 5. 2007 — 2011.
  • Goddess of Destruction. 2011 — 2013.
  • Epic Tale Of Aden. 2013 — 2021.
  • Deathknight — актуальная.

В 2011 году вышла Goddess of Destruction, которая огорчила своими упрощениями «старичков». NCSoft пошли на встречу старым игрокам и сделали некое ответвление Classic, которое воссоздает то самое «раньше было лучше» в новых декорациях. Сейчас игра разделилась на три ветви.

  • Lineage 2 Classic, сейчас — Lineage 2 Legacy. Воссоздание старого, хардкорного опыта, когда прокачка была тяжелой и нужно было объединяться в группы.
  • Lineage 2 Essence. Наиболее легкая модификация игры. Прокачка быстрая и играть можно одному.
  • Lineage 2. Основная версия игры, компромисс между Legacy и Essence.

Оригинальный эмулятор L2J покрывает только первые две саги — The Chaotic Chronicles и The Chaotic Throne. L2J — это основа, на которой выросли другие проекты. Один из таких — L2JMobius.

В отличие от оригинала, L2JMobius замахнулся в более современную Epic Tale Of Aden, чтобы сделать Classic еще более хардкорным. То есть отключить телепорт из любого места в любую локацию, спрятать автолечение и так далее. Эмулятор L2JMobius взаимодействует с более современными игровыми клиентами, так что графика будет радовать вас больше.

Это упрощенный форк эмулятора L2J, однако суть осталась та же. Собираем сервер, но не через Maven, а через Ant. Инициализируем базу данных. Запускаем логин-сервер и игровой сервер. Готово! Вы восхитительны!

Да, графика похорошела. Но все еще одиноко. Куда деваться?

Руофф



Главная площадь Гирана. Не узнали? Я тоже.

Я вспомнил молодость и поиграл на оригинальном Interlude. Но я быстро вспомнил, что главное в Lineage 2 — это люди. Старые локации кажутся безжизненными без множества персонажей и постоянной болтовни героев и торговцев. Так что зашел на официальный сервер, выбрав версию Classic и сервер Antharas. Сейчас играть можно без помесячной подписки, но монетизация присутствует.


Да, это бесплатный телепорт. Даже не обязательно подходить к Gatekeeper’у.

Админки, конечно, мне никто не даст, но издалека можно посмотреть даже на охотничьи угодья. Телепорт бесплатный, по крайней мере на низких уровнях.

Зашел в Башню Дерзости, понаблюдал короткий сюжет с устранением конкурентов под эпический саундтрек игры. Ну и хватит, пожалуй, Classic-версии. Посмотрим еще Essence.


Наконец-то старый добрый порох в мире магии!

Здесь есть две новых расы: сильфы и высшие эльфы. В целом, это плюс-минус та же игра, что и Legacy, но при прохождении обучения я смог сразу с первого уровня получить пятый.


Квесты… Щедрые!

После воспоминаний об оригинальном Interlude, обучение в Essence выглядит довольно удобно и совершенно не хардкорно. Вас сразу же обучают автоохоте, а уведомления о квесте позволяют телепортироваться в нужные охотничьи угодья. Еще и в награду подарят 100 зелий лечения. Не знаю, есть ли такое в Classic-версии, потому что я сразу полетел в Гиран.

Заключение


Это было познавательное приключение в мир старой Lineage 2. Игре почти 20 лет, а интерес к ней в рунете так и не остыл. Даже старые версии все еще пользуются популярностью. Что немного удивляет: в мире растет скорость потребления контента, наблюдается тенденция к его упрощению, а социальные сети уже везде. Но люди все еще тянутся к хардкорным социальным играм.

Комментарии (56)


  1. Tsimur_S
    28.05.2024 09:51
    +9

    Исходного кода сервера в открытом виде нет.

    Тем не менее в открытом доступе были и есть бинарники оффсервера. Сливали С1, датапаки от С2, C3, и самая полная утечка была C4 PTS в 2006 благодаря китайским серверам. Вроде бы потом еще сливали Gracia Final и как минимум датапаки вплоть до HF5.

    Каково же было тем, кто проходил это в оригинале? Наверное, им было весело.

    Основной сложностью была не беготня или убийство сотен мобов а тот самый Баюм на фотографии, в игре у рейд-боссов есть понятие окна респа, вот у Баюма оно составляло +8 часов и фиксированная часть в 5 дней. То есть каждые 5 дней народ толпился у телепорта и ждал от 0 до 8 часов пока он появится. Ну и если ты не входил в альянс тех кто мог его отбить то эти 8 часов ожидания могли закончиться просто ничем. Поэтому квест на саб и считался одним из самых сложных, поймать 4 рейд-боссов с временем респа 24 +-4 часов и потом обломаться на этом Баюме.

    Сейчас задумываешься как люди с работой в это вообще могли играть.


    1. Firemoon Автор
      28.05.2024 09:51

      Ну и если ты не входил в альянс тех кто мог его отбить то эти 8 часов ожидания могли закончиться просто ничем. 

      По заданию же его нужно потыкать пару раз «пипеткой», не обязательно добивать до конца. Так что как будто бы сложность в принципе попасть к нему, если какой-то набор игроков решит не пускать к нему.

      Или именно это и подразумевалось под «отбить»?


      1. Tsimur_S
        28.05.2024 09:51
        +2

        Или именно это и подразумевалось под «отбить»?

        Что бы гарантированно его потыкать нужно его именно что отбить. Во всех остальных случаях это будет лежание на полу для противоборствующего альянса, или "на милость победителя" для нейтралов. На многих серверах этой милости можно было не дождаться.

        Есть "относительно честные способы" использования СА кристаллов с "пипеткой" в руках через дверь, а так же масс рес через пол с нижнего этажа. На евро серверах на это закрывали глаза а на руоффе решили что за такое можно банить. И пофиг что механика работы масс реса это сфера а не диск.

        Там еще много таких приколов было - запрет на применение магического рефлекта против эпик-боссов, и самый дурацкий запрет в принципе фармить рейд-боссов на протяжении месяца или даже больше.


        1. necrosy
          28.05.2024 09:51

          ну если вспомнить откуда ноги растут у этой самой "инновы", то и происхождение ограничений в стиле "запрещать и не пущать" кагбэ понятно откуда взялось. У нцсофта тоже модеры не сахар были к слову, но в европе и штатах за бездоказательные баны неплохо прилетали судебки, а у нас чуваки просто легализовали свою фришку под крылышком нцсофт, и правила были "фришные"


          1. Tsimur_S
            28.05.2024 09:51
            +3

            но в европе и штатах за бездоказательные баны неплохо прилетали судебки

            Да полноте, я вот наоборот не помню ни одного случая успешной судебки за океаном зато прекрасно помню Васю против Инновы.

            За рубежом прекрасно раздавали баны за всякую чушь, за маты в хирочат, за аккшаринг. Еще можно было огрести бан за ботоводство в "опасные дни", за месяц до выкатывания нового обновления и месяц после. Для стимулирования покупок подписки.

            Другое дело что в игровой процесс ГМ там не лезли.


        1. ElvenSailor
          28.05.2024 09:51

          ..

          ...промахнулся уровнем комментария...


        1. ElvenSailor
          28.05.2024 09:51
          +3

          Дальше вспоминаем то, чему учили нас single-palyer игры, а именно формула трёх У - Убить, Урвать, Уговорить.

          1) Если у тебя сильный клан (или сильный алли) - можно пробиться с Баюму с боем, так что лежать мордой в пол будешь не ты, а те, кто хотел помешать. Собственно весь кайф от Баюма - в диких зарубах за него.

          2) Если у тебя очень дерзкий клан - можно под баффами на скорость и защиту просто пробежать мимо воюющих и заскочить в дверь :) Способ подходил для игроков с мощными компами, самое сложно тут было не сдохнуть после телепорта в ТоИ, пока прогружается карта. Именно так тогда люди узнавали про 10-е рейды... :)

          3) Ну и никто не мешал просто поговорить с держателями башни, чтобы они пустили кольнуть Баюма. Софт-скиллы, они пригождались ещё тогда)

          4) Временно выйти из клана, чтобы не висел значок войны - обычно нон-факторов не трогали и давали войти, если не совсем отморозки.

          Эх, линеечные годы чудесные...


    1. Gaikotsu
      28.05.2024 09:51
      +1

      Еще примерно в 2020 году слили через компы корейских разработчиков полностью SVN с данными по всем трем веткам игры, на тот момент хроник Homunculus Ch.2 (мейн), Kamael Ch.5 (классик) и Dwelling of Spirits (эссенс). Конечно там не все что нужно для запуска было в наличии, но большая часть имелась - бинарники, скрипты и т.п. Ну и учитывая что это были полные копии SVN - так же можно было выдернуть оттуда и более старые ревизии файлов, от предыдущих хроник, начиная примерно с середины 2018 года и далее. Весит все это добро в сумме около 40 гб и сейчас все это легко можно найти на нескольких форумах, посвященных работе над серверами ммо игр, само собой чисто в ознакомительных целях :)


    1. Gaikotsu
      28.05.2024 09:51

      Вобще я не особо удивлен тому как часто у нцсофт сливали разные версии серверов - к информационной безопасности и всему такому у них там походу относились и относятся достаточно пофигистически.

      То же касается и качества кода официальных серверов - местами там те еще перлы попадаются, а так же уязвимости. Про возможность SQL-инъекций через некоторые команды в чате, существовавшую как минимум до С4 тут уже упоминали. Так же с самых первых хроник существовала достаточно серьезная дыра, позволявшая через клиентские пакеты запроса хтмл-диалогов тягать с сервера вобще любые файлы размером до 8кб (а позже и до 16кб) по их относительным путям - так например вытаскивали с сервера все диалоги для нпс банальным перебором имен файлов в пакетах. Притом эта дыра была вполне общеизвестна чуть ли не с самого начала, но сподобились ее закрыть только относительно недавно.


  1. Maksvelis
    28.05.2024 09:51

    Ух сколько месяцев игрового времени было потрачено или даже лет, ведь комп не выключался и работал как сервер с dial-up модемом переодически вбивая карточки и переподключаясь) с сервером своим тоже баловались но быстро надоело ) со временем понял что затянуло играть именно из-за комьюнити, так как когда это превратилось в помойку доната интерес играть пропал.


  1. saboteur_kiev
    28.05.2024 09:51
    +22

    Изначально были слиты бинарники и дата официальных первых хроник. На них собственно поднялось куча пиратских шардов.

    Затем, так как официальные хроники ушли вперед с новыми фичами, группЫ энтузиастов начали пилить джава версию. Я даже работал в команде над одним из джава форков (Привет Balancer и ко). Не могу точно сказать сколько их было, но даже в русскоязычном сегменте вроде 3-4 крупные команды с довольно полноценным функционалом.

    Потихоньку пиратские шарды начали переползать на джава версию.

    Еще спустя два или три года были слиты практически целиком бинарники официальных четвертых хроник, которые дааалеко ушли от джава сервера.

    Нужно понимать, что реализовать полный функционал бэкенда - достаточно сложно.
    Например, АИ монстров в официалке делает гораздо больше, чем монстры просто стоят или бродят на своих позициях. В официальном сервере есть куча активности, когда мобы проявляются разную активность. Овечки там мекают, кошки мяукают. В джава версии большинство стоит на месте или передвигается случайным образом в заданной территории без допольнительных "эмоций". Тоже самое с второстепенными квестами - далеко не все были найдены и реверсинженернуты в джава версии. Механика навыков и заклинаний, какие-от отдельные внутриигровые механики - не каждый мог сидеть годами в ассемблере и вычислять идеальное соответствие, либо годами играть в игру и парралельно все кодить.

    Поэтому когда С4 официальный был слит, подавляющее большинство пиратских шардов перебежало на С4 официальный слитый.
    Это сильно ударило по джава сообществу (многие вадельцы крупных пиратских серверов финансировали разработку), и работа над джава сервером почти остановилась. Команды пораспадались.
    Какие-то команды увлеклись реверс инженерингом официального сервера, через dll инъекции патчили баги С4, добавляли функционал, пытаясь догнать С5/С6. Понятно что такой способ разработки на порядок сложнее, чем разработка на джаве. С другой стороны патчишь С4, где уже внедрены все фичи С4 на "высшем уровне"

    На фоне этого джава версия продолжала клепаться гораздо более медленными темпами, но тем не менее в какой-то момент джава догнала и перегнала С4.

    Но тут случился новый удар откуда не ждали - появился руофф, официально купленный сервер с переводом, с нормальным пингом, адекватными ценами. Это уже был удар под дых всем пиратским шардам, так как пользователи убежали на руофф.

    От этого удара сообщество пиратов уже не оправилось. Крупные пиратские шарды еще какое-то время существовали (год-два), но большинство топовых игроков (донатеров) целыми кланами уходили на официальный сервер. Поэтому через год-два пиратских шардов осталось по пальцам посчитать, многие оставались просто как ПВП сервера с задранными рейтами, где можно было прокачаться до 100 левела за неделю и просто ходить дуэлиться.

    На все вышеуказанное было потрачено примерно 5-7 лет. И эти годы дали огромное количество знакомств, мемов, потраченных нервов, ивентов, видяшек..
    В общем значимый кусок жизни.
    Как собственно и бум Дум/Дум2, а затем Квейк, а затем старкрафт. 5-7 лет это время за которое создаются сообщества, турниры, рождаются чемпионы. Это время, за которое могут быть нарисованы свои карты/патчи/модули/движки. Это время за которые юнцы стают мужами а мужи дедами.
    Хорошие были годы. Мирные (


    1. ajijiadduh
      28.05.2024 09:51

      Крупные пиратские шарды еще какое-то время существовали (год-два)

      какими вы считаете крупные? астериос достаточно крупный?


      1. saboteur_kiev
        28.05.2024 09:51
        +1

        Крупные - там где при нормальных рейтах, работала экономика. То есть было достаточно игроков чтобы заполнить ниши и крафтеров и спойлеров, и осады и войны между альянсами (а не кланами)
        Для Л2 для это примерно от 500 среднего онлайна.
        Идеальный был 1000-2000
        3000+ считался уже многовато. Уже приходилось сидеть в очереди за квестами.

        Но основной вопрос - это энтузиазм и мотивация админов ресурса. Если они вели максимально монетизированный сервер, и у них ушли все донаты, а в команде админов куча людей уже подсевшая на зарплаты, им надо было что-то кушать. Пришлось искать другие виды заработка. Если оставались силы поддерживать сервер - то какое-то время он поддерживался.

        История каждого сервера уникальна и в плане того откуда ресурсы на железо, на модерирование на мотивацию игроков. Мой сервер не был донатным, на нем в районе 50-100 игроков еще года 2-3 жило. Но у меня уже совершенно не было времени на его поддержку.


        1. Arvardan
          28.05.2024 09:51

          на нем в районе 50-100 игроков еще года 2-3 жило

          Это же совсем мало. Что они там делали?


          1. saboteur_kiev
            28.05.2024 09:51
            +1

            после 5 лет активной игры?
            Ностальгия, общение, привычка.


        1. ajijiadduh
          28.05.2024 09:51

          Крупные пиратские шарды еще какое-то время существовали (год-два),

          ну тогда это чушь. достаточно зайти на ммотоп


    1. VirtualVoid
      28.05.2024 09:51
      +1

      Лет эдак 19 тому назад и я обитал на форумах балансера и тыркал его l2jforth, заодно пытаясь немного изучить язык Forth, что называется, играючи.
      Приятный был форум, да и Роман был классным мужиком, преданный хоббист и энтузиаст.


      1. necrosy
        28.05.2024 09:51

        помню был еще какой ресурс где л2 модеры тусовались, но уже и не вспомню как назывался.


        1. VirtualVoid
          28.05.2024 09:51
          +1

          Если западный, то вероятно это постпасифик.


          1. necrosy
            28.05.2024 09:51

            ага, чет такое вспоминаю. У балансера было лампово, но полезного было мало. А на ПП тусовались хардкорные модеры и уж если где можно было достать свежачок так это там


    1. Tsimur_S
      28.05.2024 09:51

      Кто-то увлекся реверс инженерингом официального сервера, через dll инъекции патчили баги, добавляли функционал, пытаясь догнать С5 и далее.

      Патчингом кстати сообщество начало заниматься еще со времен С1. Особенно доставила попытка запихнуть в С1 7 печатей.

      Еще одна проблема джава серверов времен с1-с4 это низкая производительность. Сочетание медленной виртуалки, железа того времени и знаний не позволяло создать продукт который бы нормально держал онлайн больше пары сотен человек.

      От этого удара сообщество уже не оправилось.

      Всего лишь до тех пор пока официалы не решили запилить GoD, последний гвоздь в крышку гроба ла2. После этого активное комьюнити массово побежали обратно на пиратки и уже не возвращались оттуда вплоть до классика.

      Ну а дальше да, пациент скорее мертв чем жив. Хотя даже сейчас есть смысл скорее говорить о комьюнити фришардов чем офф-серверов.


      1. necrosy
        28.05.2024 09:51
        +1

        до сих пор с особой теплотой вспоминаю тот самый первый пре-Ц1 с дебаг инфой, по которому с dvampire разбирали структуры и методы классов оригинального л2 сервера. И это сильно помогало в т.ч. в c4 где была слита уже релизная ветка без такого количества полезной информации. С4 кстати слили без геодаты и геодату для "С4 сборки вампира" которую в хвост и гриву использовали на всех фришках, я делал по "высотным" битмапам из ресурс файлов с4 клиента.

        з.ы. сначала были оч.активны китайцы, но модили они коряво и точечно. При этом у китайцев не было внятного "комьюнити" решения, а было с пяток различных билдов л2 сервера, каждый со своей "изюминкой" и своей частотой BSD. Первым агрегатом всех китайских улучшайзеров была как раз сборка Дениса (dvampire) еще до слива с4, и мы просто взяли "чистый" сервер и месяца за три перенесли в него все наработки китайцев и даже прикрутили первую версию античита с телепортами и полноценную реализацию VR шилок (у китайцев была своя реализация VR через какой-то другой эффект, но по механике оно отличалось). Потом в паблике "появился" С4 и стало понятно, что в чистом виде иньекциями в бинарник уже не обойтись и тогда денис уже уже сам преписал всю логику на сях и инектился уже через dll. А потом контора в которой мы работали обанкротилась и каждый пошел своим путем ))))))

        з.ы.ы. я кстати все это время еще и играл на хинде, где и тестил как работают изменения в каждых новых хрониках вплоть до интелюда для адаптации их на фришках. Особо не задрачивал, но был в достаточно крупном альянсе и на антареса ходили регулярно. Все таки в то время желающих играть выскоуровневой шилкой как майном не особо было )))) FadedSteel/FuriousSteel :P


        1. Tsimur_S
          28.05.2024 09:51

          Помню как я пришел на возможно первую фришку с4 ру-сегмента после такой "с1 с допилами". ДаркРеалм -> Абис х3, если помните таких. Это то ощущение когда начинаешь играть в знакомую игру и все просто работает так как оно должно, без постоянного WTF?! Как будто с мотоблока скрученного изолентой из разных частей пересел на иномарку.

          полноценную реализацию VR шилок (у китайцев была своя реализация VR через какой-то другой эффект, но по механике оно отличалось).

          Кстати это и был один из таких WTF моментов. На предыдущем сервере vr работал как дебаф, его нужно было кидать на мобов что бы об них вампириться. Я думал это кривые руки создателя того экстендера а тут вот оно что, китайский след.


          1. necrosy
            28.05.2024 09:51

            первой фришкой ру-сегмента где нормально работал вампирик был собственно сервак сети интернет клубов UNREAL в головной организации которых мы с dvampire работали. Я был кем-то вроде тех.директора и кроме чисто технической составляющей отвечал за кучу разных моментов в том числе привлечение людей в интернет клубы через "хостинг" различных игровых ресурсов. Гарантированно обеспечить вменяемый "пинг" для игры на внешних сервисах мы не могли (особенно в период вечерних пиков), и по этому по мере возможностей эти самые ресурсы локализовали. Мы попробовали поднять эмуль, но работал он через пень колоду и начали играться с китайскими сборками. Вампира я брал именно под эту задачу и по мере возможностей ему помогал во всем разбираться. Ну и как-то пошло поехало. Он выкинул одну из первых версий своей сборки на ПП, но там как-то никакого вменяемого фидбека не было и примерно на полтора года все новые изменения стали экслюзивом нашего сервака. А абисс по всей видимости был уже во времена уже его сольного путеществия в мир шоубиза. У него достаточно много серверов было на поддержке и допилинге до требований заказчика, причем зарубежных было сильно больше чем местных.

            P.S. китайский VR был на рефлекте.


        1. XenRE
          28.05.2024 09:51

          С4 кстати слили без геодаты и геодату для "С4 сборки вампира" которую в хвост и гриву использовали на всех фришках, я делал по "высотным" битмапам из ресурс файлов с4 клиента.

          Слили примерно с половиной нормальной геодаты, вторая половина была каким-то мусором.

          Открою секрет - в ЛА2 клиенте был рабочй конвертер геодаты, позволяющий сделать геодату "идентичную натуральной". Одна зона генерилась несколько часов. А в l2npc был официальный компилятор AI скриптов, который можно было вызвать патчем в несколько строк. Корейцы заботились о людях :)

          Значительно позже еще слили сервер вроде грации, и может еще что, уже особо не следил.

          Полагаю, именно слив C1 сервера стал причиной такой популярности LA2, которая в те времена была у нас в разы популярнее ВоВа. Может это был хитрый план корейцев? Кстати вроде еще C0 сливали, но я даже клиента от него не видел.

          А ява сервера в те времена были полным мусором.


          1. necrosy
            28.05.2024 09:51

            Не было нормальной геодаты для с4, на старых локациях где ландшафт не сильно поменялся использовали геодату из беты с1, на новых и измененных - да генерили из клиента. Но она нифига не была идеальной. По крайней мере в момент выхода. Может потом кто и научился рендерить из клиента эту самую идеальную геодату, но я эти времена не застал)))

            З.ы. каждый фрагмент глобальной карты (локация) хранил "карту" то ли 64 на 64 то ли 256 на 256 однобайтовых базовых "высот" поверхнности. Но эти карты не хранили финальную высоту. Т.е. в местах где стояли любые модельки, домики деревья и даже горы надо было пересчитывать высоту. К тому же в серверной геодате точность была в 8 раз выше т.е. каждая точка в клиентской геодате соответствовала 64 точкам серверной. Все это в конечном итоге это приводило к застреваниям и прочим неприятным моментам и геодату правили но в большей мере по факту и руками. А история про генератор серверной геодаты средствами клиента линейки больше напоминает городскую легенду)))


            1. XenRE
              28.05.2024 09:51

              А история про генератор серверной геодаты средствами клиента линейки больше напоминает городскую легенду

              В те времена, когда это было актуально - не было и легенд (а генератор был) - зачем дарить конкурентам такое, пускай дальше мучаются с кривой геодатой. Там были разные подходы - кто-то пытался рисовать руками, кто-то конвертить карты из клиента, но получалась в основном кривая хрень. А про то, что у них перед носом есть почти готовый официальный генератор геодаты знал примерно никто, и никто не догадался поинтересоваться, что же делает команда buildzone. Уже сильно позже вроде что - то копали на паблике, но хз довели ли до вменяемого результата.

              Про точность вы что-то путаете - наоборот серверная была менее точная, минимальный шаг - примерно с ширину персонажа, в координатах клиента/сервера что-то порядка 32 единиц, мб ошибаюсь в несколько раз. А если много таких "пикселей" были примерно на одной высоте и не содержали непроходимых границ - они объединялись в одну большую клетку. Клиент генерил геодату в виде текстового файла с координатами размером под сотню мегабайт, который потом конвертился в серверный формат за несколько секунд. И после конвертации совпадал с геодатой из того же C1OFF практически побайтно.

              А еще была тема с компилятором AI скриптов в L2NPC, вроде более публичная. Мне чтобы сделать свою версию хватило информации о том, что так можно было.

              P.S. Пожалуй надо будет накатать статью про это. Столько времени прошло, а я до сих пор это помню...


              1. VirtualVoid
                28.05.2024 09:51

                Довольствовался в основном только творениями саурона, а про компилятор в L2NPC слышу впервые. Было бы весьма любопытно почитать сию статейку об упущенном.


              1. daggert
                28.05.2024 09:51

                P.S. Пожалуй надо будет накатать статью про это. Столько времени прошло, а я до сих пор это помню...

                Накатайте плз! Мне, как бывшему админу ВОВ (ЛА2 не зашла), заставшему первые эмуляторы - это все дико интересно было-бы почитать.


      1. saboteur_kiev
        28.05.2024 09:51

        После этого активное комьюнити массово побежали обратно на пиратки и уже не возвращались оттуда вплоть до классика.

        К этому моменту комьюнити перешло на Айон, Доту, Лигу Легенд.
        Да даже WOW уже пошел на спад.


        1. Tsimur_S
          28.05.2024 09:51

          К этому моменту комьюнити перешло на Айон, Доту, Лигу Легенд.
          Да даже WOW уже пошел на спад.

          Это какой-то эгоцентричный подход. То что значительная часть откололась не значит что остальные перестали быть комьюнити.


    1. T-helper
      28.05.2024 09:51

      Интересные подробности, спасибо. Те несколько лет ночной жизни одно из самых теплых воспоминаний !


    1. ElvenSailor
      28.05.2024 09:51

      Отток кланов на руофф - двусторонний процесс, бывало и такое, что поиграв, возвращались.

      Не всем нравился перевод, многое из того, к чему привыкли в С4, было по-другому на оффе, а главное - сообщество. Грустно было без родных врагов :)


      1. saboteur_kiev
        28.05.2024 09:51

        но если взять процент кто ушел и кто вернулся, он в пользу руоффа с большим преимуществом.
        Насколько я знаю через 3-4 года на руоффе было уже 15+ шардов, и на каждом по 3-4к


        1. ElvenSailor
          28.05.2024 09:51

          И тем не менее, фришкам это никак не мешало, мой родной Elmore 3 aka Tiamat благополучно жил ещё несколько лет... Просто в какой-то момент люди выросли, переженились (а немало игроков как раз там то и нашли половинку), поменялись интересы, перестали заходить... Ганкать некого, на босса не соберёшь, осады - тем более... Я сам как заметил, что всё, знакомых лиц почти нету, роздал шмот и чара посадил на удаление. Эту страницу пришлось перелистнуть...


          1. saboteur_kiev
            28.05.2024 09:51

            Просто в какой-то момент люди выросли

            Вот именно.
            Любой сервер обладает текучкой. И если нет прироста игроков, а он очень резко сократился, сервера вымирали.
            Я уже упоминал, что мой сервер, например, не был монетизирован. Я его поддерживал просто на энтузиазме. Прожил еще пару лет с небольшим онлайном - люди заходили, было атмосферно. Но да, новичков не было. Старички выросли. Тоже переженились.


  1. necrosy
    28.05.2024 09:51

    ни одня вменяемая фришка не использовала жава сервер л2 эмулятора. Во первых он жрал как не в себя, а во вторых был дырявым как портовая шлюха. Начиная еще с с1 (вернее пре-с1) использовались слитые оригинальные серваки допиленые умельцами до актуальной версии клиента (и функционала). Допиливались они путем иньекции через dll или чаще банальной модификацией байт кода сервера. Понятно что нужно было сначала понять куда иньектиться и переписать обработчик того или иного события. Первые модификации писались на асме, потом переписали все на Си. По крайней мере так сделал достаточно известный в среде модеров и владельцев фришек линейки dvampire, мой друг и на тот момент мой прямой подчиненный ))) Потом правда мой карьерный трэк пошел немножко в другом направлении, а он достаточно неслабо развернулся на этом поприще )))) Хотя сейчас занятие л2модингом для него это скорее хобби и пет-проект насколько я знаю


    1. XenRE
      28.05.2024 09:51

      Да ява во времена хроник была совершенно дырявая и глючная. Те, кто ее писал, походу были вообще не в курсе что нельзя доверять клиенту. Ни геодаты, ни нормального аи, ничего. Помню заходил на сервак, удалял минус миллиард адены из инвентаря, становился миллиардером :) Можно было выучить все скиллы всех классов. Был еще такой прикол - удаляешь минус миллион какого-нибудь эпического оружия, и бросаешь эту пачку на площади гирана. Хомячек подбирает, ему сообщение "вы подобрали 1000000 <staff of nagibation>" И у него перегруз 100000%, с места не сойти. И площадь гирана заполнена такими хомячками, кричащими в чат "ГМ памагиии!!!!". Со временем конечно это фиксили, но ооочень долго.

      На офф сервере были свои баги, но настолько лютой дичи всеж небыло, и баги было несколько сложнее найти.

      P.S. L2Walker!


      1. VirtualVoid
        28.05.2024 09:51

        Припоминаю, на "оффе" было два самых люто-эпичных экслойта которые нашли где-то между 2004 и 2005 годами. Это SQL инъекции и отсутствие защиты байпасов, когда посылали любые команды AI через help.htm, а пытались защитится от них правкой констант в ai и диалогах, ибо тогда снифферов трафика ещё не было. Чудное время такое было, самобытное.


        1. XenRE
          28.05.2024 09:51
          +1

          Реально лютый - это переполнение 2^32 в трейде. SQL на оффе был сильно ограничен в длинне запроса, так что выходило в основном нагадить. А вот на сайтах серваков было веселье. Юзеры играли в ЛА2, а админы играли в SQL: уничтожь базу противника! html багов было много, но пользы от большинства кот наплакал. Из "денежного" вроде был только квест на 1к адены. Вся жесть в основном работала на ява серверах. Шифрование трафика - примитивная xor-ка. Админы фришек накручивали поверх свое шифрование, но это помогало только от бедных читеров. Да, были времена :)

          Windows 10 отказывается запускать bin-файлы таким способом, поэтому можно открыть Visual Studio и быстро написать запускатор через WinAPI

          Или просто переименовать bin в exe.


          1. VirtualVoid
            28.05.2024 09:51

            Про шифрование вспомнил - всплакнул. Как от OG-валкеров героически защищались "хекся" блоуфиш ключ в клиенте. И ведь реально же помогало для основной массы :))


      1. necrosy
        28.05.2024 09:51

        Хлапекс форева))


        1. Hint
          28.05.2024 09:51

          Спустя годы, когда сменилось поколение читеров, стали путать hLaPEx (первая удобная программа для манипуляции пакетами для нубов, работающая в один клик, поддерживающая скрипты) и L2PacketHack от CoderX (намного более позднее, но и более функциональное). Еще была замороченная и мощная WP PPC от Саурона. Расшифровывалось как Lineage Packets Explorer by Hint :)

          Еще был hAuthD и много всякого разного, начиная с подмены token в L2Walker.


          1. necrosy
            28.05.2024 09:51

            а чем хлапекс для нюбов и почему вы думаете что я его с чем-то другим путаю.

            В хлапексе было все что мне было нужно, и не было ничего лишнего. Возможность на лету менять содержимое пакета и отправка цепочки нужных. То что в самом хлапесе не было готовых эксплойтов - это скорее фича чем баг )))) вы же не предьявляете претенизию к чашке о том что там нет годового запаса чая\кофе ))))


            1. Hint
              28.05.2024 09:51
              +3

              Я, если что, за хлапекс, потому что я его и написал сто лет назад ) Но заметил, что 90% людей путают названия у программ, и хлапексом называют более поздний L2PacketHack.

              procedure TGameStream.ProcessClientPacket(Packet: TGamePacket);
              begin
                if ShouldSendWelcomeMsg then if Packet.PacketId = $9D then
                begin
                  ShouldSendWelcomeMsg := False;
                  SendToClient(BuildChatPck('hLaPEx', 'Welcome to hLaPEx! Let''s have fun!'));
                end;
                // ...
              end;


          1. XenRE
            28.05.2024 09:51
            +1

            Читеры снова собрались, 20 лет спустя. Привет от создателя l2w_vse :) Кто застал чит академию?


            1. Hint
              28.05.2024 09:51

              Это про cheaters.com.ru?) Ламповый форум в сеттинге звездных войн. Там еще было подполье, куда все хотели попасть (maddaemon в том числе там иногда появлялся). Первые платные дешевые программки, обход первых примитивных защит от ботов, программы для замены токена в L2Walker, читы для подмены html в памяти клиента, борьба с кривыми рецептами сосок на Elmore (когда через бота при крафте тратилось в 2 раза больше ресурсов) и так далее. Потом форум закрыли, пытались продать, но никто не купил. И после этого другие люди открыли allcheats, уже под более широкую аудиторию (или просто игра стала популярнее, а читы доступнее). Интересное было время. Частично закрытое сообщество со своими звездами и лидерами мнений, личная репутация, общение в аське, знакомства по рекомендациям ("привет, я от того-то"), обмен инсайдами и так далее. Вспоминаю с теплотой )


    1. saboteur_kiev
      28.05.2024 09:51
      +1

      никогда не говори никогда =)

      Бывало, что фришки прыгали с С1 на джаву с джавы на С4.
      Когда у тебя С1, а джава уже почти С4, то стоит большой вопрос.

      К тому моменту, когда слили С4, джава версия по фичам значительно опережала С1, и проводилось много рефакторинга на перформанс.
      Если бы не слили С4, то еще года за два в джаве могли бы допилить нормальную скорость, а новые фичи новых хроник в джаву ввести гораздо проще чем в слитые бинарники.

      Но история не любит сослагательного наклонения


  1. vaalberith
    28.05.2024 09:51
    +1

    https://t.me/lu4cwo

    Товарищи уже какое-то время пилят универсальный клиент на ue4 (и мб какой-то бэкенд), выглядит бомбезно. В соцсетях выкладывают много футажей. Удалось как-то самому погонять по Talking Island на первом тесте, душа пела) Сейчас реализовали практически все локации, кмк.


    1. robo2k
      28.05.2024 09:51
      +1

      Я тоже пилю клиент, думаю будет не хуже чем у них. Графики конечно такой не будет, зато будут другие фишки. И степень готовности по предварительной оценке у нашего выше.


      1. Okeu
        28.05.2024 09:51
        +1

        вообще, они партнерку с какой-то фришкой крутанули, и у них дела сильно ускорились. Я так понял, что в них инвестируют, а луч будет на какой-то срок эксклюзивом. Роудмап на подкасте озвучивался такой, что в течении этого года ожидается збт

        упд: мастерворкс, не знаю кто это такие


  1. robo2k
    28.05.2024 09:51
    +2

    Прикольно, а я как раз занят разработкой кастомного клиента на Unity для одного из неофициальных серверов


  1. rmaster65
    28.05.2024 09:51

    • Клиенты всех версий до High Five (2010-2011) не запускаются на Windows 10 x64. Процесс есть, а GUI не появляется.

    При желании это можно решить ( ссылка на исходник и решение , которое я сделал ) , в двух словах, о причине - "при обращении к CoIntializeInstace(0)->CoInitializeEx(0,0), для Win32 процессов запущенных на Win64 OC , изменено базовое значение tagCOINIT, на COINIT_MULTITHREADED , а процесс игры не поддерживает мульти-поточность, ввиду этого и виснет"


  1. Mitai
    28.05.2024 09:51
    +1

    Эххх времена мы как то трое суток месились с враждующим альянсом за Валакаса


  1. jstbot
    28.05.2024 09:51

    есть сервера с х1 и донатом только в виде внешки или добровольный донат для поддержания сервера без плюшек Тебе как донатеру, спустя кучу лет решили с знакомыми залететь, замутить кп на С2(но там планировалось постепенное обновление далее), было круто и познавательно! например раньше когда начинали с С1 и С2 львиная доля квестов отметалась мол нафиг надо, профита никакого, проще мобов гриндить, но опять же тогда не было готовых описаний где то всех этих квестов, но сейчас вдумчивый анализ показал что большинство квестов имеют не плохой профит! внезапненько


    1. Okeu
      28.05.2024 09:51

      как раз тогда были описания, они до сих пор и являются единственным корректным источником по С1, Prima Guide - сам по нему играл)