UnrealKaraulov / newbspguy

Goldsrc map viewer/editor without decompiling. Also can view .MDL models.
The Unlicense
63 stars 13 forks source link

Некоторые карты крашат сервер после очистки или оптимизации #106

Closed Nord1cWarr1or closed 7 months ago

Nord1cWarr1or commented 7 months ago

Проверено на стандартных картах cs_office, cs_estate, на большинстве других карт краша после "очистки" или "оптимизации" нет. Ошибка при краше в sys_error.log: CalcSurfaceExtents: Bad surface extents

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

WARNING: texture lump "!waterblue" not found
WARNING: texture lump "+0drkmtl_scrn" not found
WARNING: texture lump "+0~light3a" not found
WARNING: texture lump "+0~tnnl_lgt1" not found
WARNING: texture lump "+0~tnnl_lgt4" not found
WARNING: texture lump "+0~white" not found
WARNING: texture lump "+1drkmtl_scrn" not found
WARNING: texture lump "+2drkmtl_scrn" not found
WARNING: texture lump "+a~light3a" not found
WARNING: texture lump "+a~tnnl_lgt1" not found
WARNING: texture lump "+a~tnnl_lgt4" not found
WARNING: texture lump "-0glassbrick" not found
WARNING: texture lump "-0silo2_p2b" not found
WARNING: texture lump "-1glassbrick" not found
WARNING: texture lump "-1silo2_p2b" not found
WARNING: texture lump "-2glassbrick" not found
WARNING: texture lump "-2silo2_p2b" not found
WARNING: texture lump "-3glassbrick" not found
WARNING: texture lump "-3silo2_p2b" not found
WARNING: texture lump "-4glassbrick" not found
WARNING: texture lump "aaatrigger" not found
WARNING: texture lump "~generic87" not found
WARNING: texture lump "~lab1_comp8b" not found
WARNING: texture lump "~light4a" not found
WARNING: texture lump "~spotyellow" not found
Qwertyus3D commented 7 months ago

Возможно, краш идёт оттого, что нет текстур где надо. Конкретно список выше - это стандартные текстуры из halflife.wad, которые должны быть в папке valve. Возможно, нет вадника, либо в ваднике по какой-то причине нет текстур.

Nord1cWarr1or commented 7 months ago

Возможно, краш идёт оттого, что нет текстур где надо. Конкретно список выше - это стандартные текстуры из halflife.wad, которые должны быть в папке valve. Возможно, нет вадника, либо в ваднике по какой-то причине нет текстур.

Я же указал, что такое происходит при применении инструментов Очистка или Оптимизация

изображение

Qwertyus3D commented 7 months ago

Ну надо же при этом понимать, что делаешь с картой (для чего вообще очистка и оптимизация, это ведь не просто какие-то опции "сразу сделать лучше", они определённые задачи выполняют, причём в зависимости от настроек), где находятся текстуры, как работает движок. На скринах, приведённых в другой теме https://github.com/UnrealKaraulov/newbspguy/issues/105 текстур на карте нет, очевидно, что из-за этого проблемы. Если это не понятно, значит не понятно, как движок работает, как он текстуры грузит и т. д. Тут и редактор может быть не при чём. Без обид, делать в редакторе надо конкретные вещи, а не просто так от нечего делать чистить и оптимизировать непонятно самому что. Тем более мультиплеерные карты, которые из-за этих операций могут в итоге отличаться на сервере и у клиента.

Qwertyus3D commented 7 months ago

Вообще Bad surface extents - это ошибка, связанная с некорректным размером текстуры, с тем, как она наложена на браш или каких он размеров. В меню карты есть опция для исправления подобных ошибок, а в меню Файл есть опция проверки карты, только нужно лог открыть, чтобы посмотреть, что с картой происходит. Просто причин ошибок может много всяких быть. Хотя бы карту надо проблемную для примера, а то вообще не ясно, в чём проблема.

UnrealKaraulov commented 7 months ago

Проверено на стандартных картах cs_office, cs_estate, на большинстве других карт краша после "очистки" или "оптимизации" нет. Ошибка при краше в sys_error.log: CalcSurfaceExtents: Bad surface extents

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

WARNING: texture lump "!waterblue" not found
WARNING: texture lump "+0drkmtl_scrn" not found
WARNING: texture lump "+0~light3a" not found
WARNING: texture lump "+0~tnnl_lgt1" not found
WARNING: texture lump "+0~tnnl_lgt4" not found
WARNING: texture lump "+0~white" not found
WARNING: texture lump "+1drkmtl_scrn" not found
WARNING: texture lump "+2drkmtl_scrn" not found
WARNING: texture lump "+a~light3a" not found
WARNING: texture lump "+a~tnnl_lgt1" not found
WARNING: texture lump "+a~tnnl_lgt4" not found
WARNING: texture lump "-0glassbrick" not found
WARNING: texture lump "-0silo2_p2b" not found
WARNING: texture lump "-1glassbrick" not found
WARNING: texture lump "-1silo2_p2b" not found
WARNING: texture lump "-2glassbrick" not found
WARNING: texture lump "-2silo2_p2b" not found
WARNING: texture lump "-3glassbrick" not found
WARNING: texture lump "-3silo2_p2b" not found
WARNING: texture lump "-4glassbrick" not found
WARNING: texture lump "aaatrigger" not found
WARNING: texture lump "~generic87" not found
WARNING: texture lump "~lab1_comp8b" not found
WARNING: texture lump "~light4a" not found
WARNING: texture lump "~spotyellow" not found

я проверил сейчас на cs_office текстуры не удаляются а что за сервер такой, rehlds? версия newbspguy последняя?

karakakarkarkar commented 7 months ago

если включена обрезка wad то очистка удаляет полные пути к wad оставляя только короткие и удаляет ненужные wad которые не были найдены.

karakakarkarkar commented 7 months ago

Возможно это происходит из-за неправильно указанного пути к wad

Nord1cWarr1or commented 7 months ago

Ну надо же при этом понимать, что делаешь с картой (для чего вообще очистка и оптимизация, это ведь не просто какие-то опции "сразу сделать лучше", они определённые задачи выполняют, причём в зависимости от настроек),

Без понятия, что они делают, раз написано оптимизация, значит что-то лучше становится. Был бы мануал, почитал бы, а так какой смысл в подобных высказываниях?

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

То же самое, выкатывайте документацию, будем понимать.

Хотя бы карту надо проблемную для примера

Приведено целых две карты, читать надо внимательнее.

я проверил сейчас на cs_office текстуры не удаляются а что за сервер такой, rehlds? версия newbspguy последняя?

ReHLDS version: 3.13.0.814-dev. Программа из этого билда: https://github.com/UnrealKaraulov/newbspguy/releases/tag/NightBuild_2024.02.22_05-12

если включена обрезка wad то очистка удаляет полные пути к wad оставляя только короткие и удаляет ненужные wad которые не были найдены.

Что за обрезка? Настройки программы не менялись от стандартных, за исключением путей и подмены CRC.

Qwertyus3D commented 7 months ago

Имелось в виду, не "приводить карты", а прикрепить к сообщению уже испорченную карту. Потому что испортить тоже нужно талант иметь :D . Не у каждого получится повторить проблему и получить тот же результат. У меня вот ничего не портится, к примеру...

Nord1cWarr1or commented 7 months ago

Имелось в виду, не "приводить карты", а прикрепить к сообщению уже испорченную карту. Потому что испортить тоже нужно талант иметь :D . Не у каждого получится повторить проблему и получить тот же результат. У меня вот ничего не портится, к примеру...

Вероятно, проблема действительно в этом:

На скринах, приведённых в другой теме https://github.com/UnrealKaraulov/newbspguy/issues/105 текстур на карте нет, очевидно, что из-за этого проблемы

Тогда как на этих двух картах не все текстуры прогружены, а на других картах, где не заметил отсутствия текстур, нет проблем с "оптимизацией"

Qwertyus3D commented 7 months ago

Вот сообщение: https://github.com/UnrealKaraulov/newbspguy/issues/104#issuecomment-1959999696 и там как раз указано, что не найдены wad-файлы. Путь к текстурам нужно правильно указать.

Qwertyus3D commented 7 months ago

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

Nord1cWarr1or commented 7 months ago

Решено, проблема действительно была в отсутствующих текстурах.

@UnrealKaraulov может провести небольшой workaround над этим, и не давать использовать очистку и оптимизацию при отсутсвии текстур? Воизбежании таких проблем.

karakakarkarkar commented 7 months ago

@Nord1cWarr1or я с телефона пока с этого аккаунта сижу а то изза 2fa не могу попасть с телефона на основной.

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

думаю просто при отсутствии тестуры какой-нибудь буду делать предупреждение и пропуск оптимизации списка вад файлов в wad ключе worldspawn

а полный путь не сработал из-за отсутствия слэша вначале пути

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