Что нового?

1.5.Х Исходный код 155/153 Perfect World Evolved — клиент + сервер

  • Автор темы Автор темы kwizyyy
  • Дата начала Дата начала
Приветствую

Верно понимаю, что сорсы от 1.5.3 (145)? Нет ли сейчас в шаре 1.5.5 (156)?
Или софта на даунгрейд data файлов с 156 -> 145?
 
Приветствую

Верно понимаю, что сорсы от 1.5.3 (145)? Нет ли сейчас в шаре 1.5.5 (156)?
Или софта на даунгрейд data файлов с 156 -> 145?
155 нет. Не до конца понял, ты хочешь использовать дата файлы от 155 на 153? Если да то в исходах можно дописать чтобы они читали дата файлы выше версии, но для чего это не понятно.
 
Прописать - прописал, но они структурно разные, ловлю segm fault. Поэтому возникает боль в миграции с более высокой версии на низкую, было интересно, можно ли это упростить
 
Структуры в любом случае придется дописывать
 
То есть лучший путь - ручной перенос на чистые data файлы 1.5.3 всего контента, что был в старых эликах (1.5.5), тасках; резолв конфликтов по мере продвижения?
 
не понял еще раз, это можно использовать в прод, или это просто для изучения?
 
не понял еще раз, это можно использовать в прод, или это просто для изучения?
Пробовал собрать, пару фиксов и собирается без проблем как сервер так и клиент, после Сборки не тестировал, меня устроила и надпись успешно собрано))
 
а че за прикол клиент из 4-х частей по 22гб каждый?
 
а че за прикол клиент из 4-х частей по 22гб каждый?
там виртуалка с подготовленным окружением для компиляции
не теряй время зря, там ничего толкового по сути нет, кроме сорсов
а их итак можно скачать отдельно
 
В общем, я потерял все свои наработки с этой сборкой. Последний бэкап который у меня сохранился тут: https://disk.yandex.ru/d/FFyPy-UROe1uFQ (Может кому то будет полезно. Хотя я сомневаюсь) Я даже не помню что там было сделано.
Есть люди которым я скидывал файлы, если они поделятся, то я буду рад.
Есть желания делать с полного нуля, с исходников 1.5.2. Все так же будет на шару! (но когда это будет большой вопрос)
 
SOURCE PW ETERNAL - CLIENTE E SERVER:

Не знаю что там есть, может кто-то посмотрит и скажет.
Все так-же взято с иностранного форума.
 
Я попробовал на mvs 2022 c sdk 8.1 у меня клиентские сурсники не видят include <windows.h>. Собрать не получилось
 
Здравствуйте! Я скомпилировал серверную часть из ваших исходных кодов и хотел бы уточнить, какие компоненты окружения необходимо установить для его запуска. Дело в том, что при замене файлов стандартного серверного приложения на скомпилированные из исходников файлы сервер не запускается — причина в несоответствии окружения. Поэтому я планирую установить необходимое окружение непосредственно в предоставленном вами образе окружения для компиляции, а затем развернуть и отлаживать сервер прямо в этом окружении.В общем, я потерял все свои наработки с этой сборкой. Последний бэкап который у меня сохранился тут: https://disk.yandex.ru/d/FFyPy-UROe1uFQ (Может кому то будет полезно. Хотя я сомневаюсь) Я даже не помню что там было сделано.
Есть люди которым я скидывал файлы, если они поделятся, то я буду рад.
Есть желания делать с полного нуля, с исходников 1.5.2. Все так же будет на шару! (но когда это будет большой вопрос)
 
- исходники сервера читают лишь зашифрованные (xor) data: elements.data и вроде как taks.data
- с обычными вашими .data ядро пошлет нафиг
- если хотите убрать читку xor, то в исходах придётся поковыряться


- при попытке войти в игру может быть ошибка (смотрите логи игры, ибо текст "не входа" может быть искаженный)
- на сколько я понял, может не пускать в игру из-за несоответствия "рукопожатия"
- "рукопожатие" - это (условно): когда берутся клиентские data (elements.data + taks.data + .exe) и создаётся некое число (ключ)
- сервак должен знать этот ключ уже заранее, то есть синхронизация
- скорее всего проверку рукопожатия можно оффнуть, но я просто подстроил одинаковое значение
 
Всем привет. А какие клиенты подойдут к серваку от Nival'a подойдет?
 
Всем привет, тут же PWI клиент, требующий локализации?
 
Всем привет, а сам клиент Evolved 155 где сейчас взять?
исходники компилируются , вот только не понятно на каком клиенте их тестировать
 
Попробовал запустить на руоф клиенте 155. Вот такая жаба выходит
1773543286858.png
 
В вашем исходном коде использовались файлы заданий версии 125, я вернул их на версию 124, а также исправил значение версии в файле TaskTempl.cpp на 124.Но сервер GS не запускается. Похоже на проблему с выделением памяти.В логах выводится примерно следующее, строки обрываются/усекаются:substance name filter_Slow2, size 32substance name filter_Dechurt4, size 36substance name filter_Accumulateattack, size 36substance name filter_Accumulateattack2, size 32substКак мне это исправить?
 
В вашем исходном коде использовались файлы заданий версии 125, я вернул их на версию 124, а также исправил значение версии в файле TaskTempl.cpp на 124.Но сервер GS не запускается. Похоже на проблему с выделением памяти.В логах выводится примерно следующее, строки обрываются/усекаются:substance name filter_Slow2, size 32substance name filter_Dechurt4, size 36substance name filter_Accumulateattack, size 36substance name filter_Accumulateattack2, size 32substКак мне это исправить?
До снижения версии как себя вел сервер? Просто понизить версию файла не достаточно, сервер при загрузке файла опирается на версию и если версия другая то и логика загрузки данных иная. Это я так..... смотри внимательно загрузку таска
 
XOR-шифрование убирается очень просто, у них вариант без шифрования уже реализован через дефайн #BOLA_DEVBUILD. Он причем больше нигде не используется, так что можно спокойно собирать с этим флагом и не заморачиваться.

Ну либо закомментировать на сервере и клиенте в функциях распаковки elements и tasks (шифруются только они)

C++:
// Вместо этого
for (int i = 0; i < nFileSize; i++) {
#ifdef BOLA_DEVBUILD
    eBuffer[i] = ibuffer[i];
#else
    unsigned char xortarget = key[i % (sizeof(key) / sizeof(char))];
    if (ibuffer[i] != 0 && ibuffer[i] != xortarget) {
        eBuffer[i] = ibuffer[i] ^ xortarget;
    }
    else {
        eBuffer[i] = ibuffer[i];
    }
#endif
}

// Оставить только это
for (int i = 0; i < nFileSize; i++) {
    eBuffer[i] = ibuffer[i];
}
 
Сверху