При хостинг поддержке Интернет-сообщества VBIOS CS-Mapping.com.ua
Вернуться   CS-Mapping.com.ua > Forum > Разработка игр > Xash3D Engine
Ник
Пароль
Регистрация Правила форума FAQ Пользователи Администрация Календарь Поиск За 24 часа Пометить все разделы прочитанными

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.07.2015, 01:35  #61
gfdjr5
gfdjr5
[NULL]
Регистрация: 25.11.2012
Сообщения: 554


По умолчанию

[ Цитата ] Сообщение от Дядя Миша: В ксаше есть перехват обработчика исключений, однако конфиг в аварийной ситуации я не сохраняю намеренно. А вдруг именно манипуляции с переменными привели к крашу? А мы их сохраним.
Да, такое, конечно, тоже может встретиться
Но есть такая вещь, как проверка на успешность предыдущей инициализации
То есть, допустим, при старте есть у нас в конфиге вар lastinitok, в значение которого пишется true при "чистом" выходе и остаётся false при вылете
Соответственно, если lastinitok при загрузке конфига на старте = false - сброс конфига на дефолтный, а так - сохранять значения переменных после каждого внесения изменения, ну или хотя бы при старте коннекта сохранить его
Ну, или такая идея. Иметь два файла конфига - постоянный и сессионный. В постоянном хранится конфиг как сейчас, а в сессионном сохранять значения, изменённые относительно постоянного. Если "чистый" выход - сохранять сессионный как новый постоянный. Иначе он будет сброшен при следующем перезапуске постоянным конфигом.
Но это пока предложения. Не хочется иметь такие недоработки, если честно. Да и обычно с "кривых" настроек конфига ГС не падал, просто какой-то функционал перестаёт работать, если задано неправильное значение или корректируется сервером. А вот внезапный "invalid packet id" или непрекэшированная модель приводят к крашу, и конфиг не сохраняется. Ну и сейчас Ксаш всё ещё частенько произвольно отваливается при загрузке уровней, а лично у меня и произвольно зависает со всей системой. Да и ГС в меню в простое может стопнуть ось (не знаю, как там новые билды).

Последний раз редактировалось gfdjr5, 25.07.2015 в 01:42.
gfdjr5 вне форума Ответить с цитированием
Старый 25.07.2015, 01:43  #62
mittorn
mittorn
Подполковник
Регистрация: 22.04.2010
Сообщения: 1,173


По умолчанию

1. XashXT клиент
2. 3030
3. Респавн или загрузка не происходит, пока зажата одна из клавиш перемещения
4. Выявлено на android с наэкранным управлением, где вместе с ещё одним багом оно ломает респавн совсем. Даже если на сервере включен принудительный. Проблема возможно касается и сервера.
mittorn вне форума Ответить с цитированием
Старый 25.07.2015, 01:44  #63
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 14,996


По умолчанию

2 gfdjr5: ты бы проверился штоле на вирусы. И еще скачай autoruns.exe от SysInternals. Мне она в своё время очень помогла.

Дядя Миша, подумав, добавил 25.07.2015 в 01:45
ЗЫ, kill на клиенте я помоему намеренно выключил, штобы не читерили.
А то бегают такие суицидники, мешают приличным людям фраги набивать.

Последний раз редактировалось Дядя Миша, 25.07.2015 в 01:45.
Дядя Миша вне форума Ответить с цитированием
Старый 25.07.2015, 01:46  #64
mittorn
mittorn
Подполковник
Регистрация: 22.04.2010
Сообщения: 1,173


По умолчанию

2 gfdjr5:
Что за ось такая? Хря? У меея даже андройд ни разу не крашнул.

mittorn, подумав, добавил 25.07.2015 в 01:47
2 Дядя Миша:
Значит у себя включу обратно

mittorn, подумав, добавил 25.07.2015 в 01:50
А то неприятно делать это вручную.

Последний раз редактировалось mittorn, 25.07.2015 в 01:50.
mittorn вне форума Ответить с цитированием
Старый 25.07.2015, 02:00  #65
gfdjr5
gfdjr5
[NULL]
Регистрация: 25.11.2012
Сообщения: 554


По умолчанию

[ Цитата ] Сообщение от Дядя Миша: 2 gfdjr5: ты бы проверился штоле на вирусы. И еще скачай autoruns.exe от SysInternals. Мне она в своё время очень помогла.
Да вот, совсем-совсем недавно провериться пришлось. Дай, думаю, проверю спидхак под Ксашем. Скачал откуда-то с "доверенного источника", но, к сожалению, не один не смог, т.к. это, всё-таки не ГС и память здесь патчить нужно по другому адресу. Сходил за чаем. Возвращаюсь - на рабочем столе творится дикая вакханалия и куча новых процессов в диспетчере. Пришлось всё вычищать. Сейчас всё в норме. Да и исполнительные файлы целые. Никакой подозрительной активности не имеется. Поэтому со 100% гарантией утверждаю, что дело не вирусах
[ Цитата ] Сообщение от Дядя Миша: ЗЫ, kill на клиенте я помоему намеренно выключил, штобы не читерили.
А то бегают такие суицидники, мешают приличным людям фраги набивать.
Лучше сервером контроллить. Клиент же эту команду на сервер пошлёт, а тот уже решит, можешь/должен ли ты иметь возможность умереть. Или я что-то недопонял?

gfdjr5, подумав, добавил 25.07.2015 в 02:15
Но ладно, с вылетами/зависаниями - закрыл/перезагрузился и открыл заново. Вот конфиг сброшенный после этого заново настраивать - это неприятно.

gfdjr5, подумав, добавил 25.07.2015 в 02:26
И как я понял, зависает только у меня
Поэтому причина не в движке и можно не париться

Последний раз редактировалось gfdjr5, 25.07.2015 в 02:26.
gfdjr5 вне форума Ответить с цитированием
Старый 25.07.2015, 02:31  #66
Cybermax
Cybermax
Супер Модератор
Регистрация: 11.03.2008
Сообщения: 2,671


По умолчанию

[ Цитата ] 4) Недоработка движка, тянущаяся ещё с исходников Quake (GoldSource тоже этим болеет). Заключается в том, что движок сохраняет бинды и некоторые прочие настройки в config.cfg, но только при "чистом" выходе из игры. Если игра зависнет или вылетит - конфиг не будет сохранён и придётся вводить всё заново при перезаходе
[ Цитата ] Да, такое, конечно, тоже может встретиться
Но есть такая вещь, как проверка на успешность предыдущей инициализации
То есть, допустим, при старте есть у нас в конфиге вар lastinitok, в значение которого пишется true при "чистом" выходе и остаётся false при вылете
Соответственно, если lastinitok при загрузке конфига на старте = false - сброс конфига на дефолтный, а так - сохранять значения переменных после каждого внесения изменения, ну или хотя бы при старте коннекта сохранить его
Зачем все так усложнять, если есть команда writecfg в стим хл но нет в Ксаш. Настроил конфиг под себя, в консоли writecfg имяконфига.cfg и сохраняется все в нем. Хоть autoexec.cfg хоть васяпупкин_нагибатор.cfg. Как по мне оптимальный вариант без геморроя просто необходимый для сетевой игры.

Cybermax, подумав, добавил 25.07.2015 в 02:38
>>Лучше сервером контроллить. Клиент же эту команду на сервер пошлёт, а тот уже решит, можешь/должен ли ты иметь возможность умереть.
Хотя бы в Ксаше оставьте клиенту решать делать kill или продолжать мучатся. Почему за клиентов все должен решать какой-то сервер. Что за

Последний раз редактировалось Cybermax, 25.07.2015 в 02:38.
Cybermax вне форума Ответить с цитированием
Старый 25.07.2015, 02:53  #67
gfdjr5
gfdjr5
[NULL]
Регистрация: 25.11.2012
Сообщения: 554


По умолчанию

[ Цитата ] Сообщение от Cybermax: Зачем все так усложнять, если есть команда writecfg в стим хл но нет в Ксаш. Настроил конфиг под себя, в консоли writecfg имяконфига.cfg и сохраняется все в нем. Хоть autoexec.cfg хоть васяпупкин_нагибатор.cfg. Как по мне оптимальный вариант без геморроя просто необходимый для сетевой игры.
Консоль отладки предназначена, прежде всего, для отладки, и ориентирована на разработчика, а не на рядового пользователя.
Ничего плохого в том, что бы иметь оба варианта, не вижу
[ Цитата ] Сообщение от Cybermax: Хотя бы в Ксаше оставьте клиенту решать делать kill или продолжать мучатся. Почему за клиентов все должен решать какой-то сервер. Что за
Действительно, зачем? А пускай они сами свою позицию считают и присылают в пакете её. И стрельбу тоже. Пусть сразу шлют, по кому попали, с чего и сколько дмг нанесли. И статы все пусть на себе держат. Пароли, email-ы, уровни, деньги и прочее. Вот игрок перед тобой, и вот он уже на другом конце карты. И с того же конца карты тебе в лоб через все стены прилетела пуля от пистолета и нанесла тебе 9999999 повреждения, когда у противника в руках был нож.

Последний раз редактировалось gfdjr5, 25.07.2015 в 02:57.
gfdjr5 вне форума Ответить с цитированием
Старый 25.07.2015, 02:58  #68
Cybermax
Cybermax
Супер Модератор
Регистрация: 11.03.2008
Сообщения: 2,671


По умолчанию

[ Цитата ] Консоль отладки предназначена, прежде всего, для отладки, и ориентирована на разработчика, а не на рядового пользователя.
Ничего плохого в том, что бы иметь оба варианта, не вижу
Вот сказал бы ты мне это во времена когда я ходил по клубам. А вообще фича нужная. Настроил один раз под себя конфиг и сохранил. Хоть 100500 конифгов. Всегда есть defaul.tcfg также можно в autoexeс.cfg прописать exec default.cfg при необходимости.
[ Цитата ] Действительно, зачем? А пускай они сами свою позицию считают и присылают в пакете её. И стрельбу тоже. Пусть сразу шлют, по кому попали, с чего и сколько дмг нанесли. И статы все пусть на себе держат. Пароли, email-ы, уровни, деньги и прочее
Не надо утрировать, это пошло. Я написал про команду которая есть в стим хл, почему принцип её работы должен отличаться в Ксаш?
Cybermax вне форума Ответить с цитированием
Старый 25.07.2015, 23:02  #69
Ku2zoff
Ku2zoff
Сержант
Регистрация: 12.08.2010
Возраст: 27
Сообщения: 290


По умолчанию

>>Да и обычно с "кривых" настроек конфига ГС не падал, просто какой-то функционал перестаёт работать, если задано неправильное значение или корректируется сервером.
Запусти мод под WON-версией, а потом под Steam. Он у тебя успешно крэшнится при старте карты, или через несколько секунд после старта, предварительно сильно полагав. Так и не будет запускаться, пока не впишешь квару lightgamma значение 2.0 или выше. Ну и лично у меня в моде маленькая пакость есть, приводящая к вылету, если в конфиге указана несуществующая в папке мода модель игрока. Всё забываю исправить.
Ku2zoff вне форума Ответить с цитированием
Старый 26.07.2015, 14:49  #70
xawari
xawari
senior developer
Регистрация: 14.02.2014
Сообщения: 15


По умолчанию

[ Цитата ] Сообщение от Дядя Миша: А, то я перепутал с блудспрайт. Вот его я действительно приводил в соответствие.

зачем мне отладчик, если у меня код движка выполняется в голове?
Я и так знаю где вылет, что к нему привело и какие моды затронет багфикс.
Вон Хвидер уже 10 лет ковыряет свой XDM отладчиком, а он всё глючнее и глючнее становится. Я на минутку к нему в код заглянул - штук 15 застарелых багов профиксил, а он мне даже спасибо не сказал.
Какой ты жыадный - спасибо в readme тебе мало...
Кстати, где ты их профиксил и когда? У меня SVN не наблюдается.

xawari, подумав, добавил 26.07.2015 в 15:17
PS: баг с камерой от 3го лица профикшен? settings.scr, наконец, читается?

xawari, подумав, добавил 26.07.2015 в 15:26
[ Цитата ] Сообщение от gfdjr5: Да, такое, конечно, тоже может встретиться
Но есть такая вещь, как проверка на успешность предыдущей инициализации
То есть, допустим, при старте есть у нас в конфиге вар lastinitok, в значение
Счас ДМ скажет, что я троллю, но в XDM это есть. Причём позволяет dedicated-server автоматом перезапускать на последней карте.

Последний раз редактировалось xawari, 26.07.2015 в 15:26.
xawari вне форума Ответить с цитированием
Старый 26.07.2015, 15:49  #71
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 14,996


По умолчанию

[ Цитата ] Счас ДМ скажет, что я троллю, но в XDM это есть.
Я надеюсь ты избавился от ent-файлов или хотя бы сменил им расширение?
Потому что энт-патчи, это общепризнанный стандарт в среде Q-движков, а не моё изобретение.
Дядя Миша вне форума Ответить с цитированием
Старый 26.07.2015, 17:44  #72
xawari
xawari
senior developer
Регистрация: 14.02.2014
Сообщения: 15


По умолчанию

[ Цитата ] Сообщение от Дядя Миша: Я надеюсь ты избавился от ent-файлов или хотя бы сменил им расширение?
Потому что энт-патчи, это общепризнанный стандарт в среде Q-движков, а не моё изобретение.
Конечно. В тот самый момент когда мы это обсуждали.
Я ещё xash-specific совместимостей кое-где сделал, но баг с камерой и рандомным PVS пока остался.
xawari вне форума Ответить с цитированием
Старый 26.07.2015, 17:49  #73
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 14,996


По умолчанию

2 xawari: ну выкладывай их сюда. Я планирую ближе к осени плотно заняться адекватной поддержкой мультиплеера. А кораблики до сих пор кверхногами плавают?
Дядя Миша вне форума Ответить с цитированием
Старый 26.07.2015, 19:40  #74
xawari
xawari
senior developer
Регистрация: 14.02.2014
Сообщения: 15


По умолчанию

Местами - да. Теперь в ХЛ один из них кверху днищем. Я у себя везде SQB вычистил - мож, по этому.
Баг с камерой - просто включаешь вид от 3го лица - и завертится. Клавиша "z", вроде. Пропадают куски мира - как будто отсечение чего-то не понимает. Ещё надо будет с тобой пообщаться насчёт генерации user/auth ID. У меня на них инвалидация игроков завязана.
xawari вне форума Ответить с цитированием
Старый 26.07.2015, 19:47  #75
gfdjr5
gfdjr5
[NULL]
Регистрация: 25.11.2012
Сообщения: 554


По умолчанию

ДМ, исправишь?

build 3030 (есть и на более ранних, думаю, и в 3075 осталось)
Дубляция кода
filesystem.c
file_t *FS_Open( const char *filepath, const char *mode, qboolean gamedironly )
Код:
	if( host.type == HOST_NORMAL || host.type == HOST_DEDICATED )
   		  {
   		// some stupid mappers used leading '/' or '\' in path to models or sounds
   		if( filepath[0] == '/' || filepath[0] == '\\' ) filepath++;
   		if( filepath[0] == '/' || filepath[0] == '\\' ) filepath++;
   		  }

Последний раз редактировалось gfdjr5, 26.07.2015 в 19:54.
gfdjr5 вне форума Ответить с цитированием
Старый 26.07.2015, 20:11  #76
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 14,996


По умолчанию

2 gfdjr5: это не дубляция кода. Это мне Кувертус прислал некоторые карты, где мапперы зачем-то ставили двойной слэш в начале пути к модели.
Причём прислал буквально за полчаса до очередного релиза. Я не стал там городить никаких циклов, а отделался вот таким говнокодом. Не трогай.
Дядя Миша вне форума Ответить с цитированием
Старый 26.07.2015, 20:23  #77
gfdjr5
gfdjr5
[NULL]
Регистрация: 25.11.2012
Сообщения: 554


По умолчанию

[ Цитата ] Сообщение от Дядя Миша: 2 gfdjr5: это не дубляция кода. Это мне Кувертус прислал некоторые карты, где мапперы зачем-то ставили двойной слэш в начале пути к модели.
Причём прислал буквально за полчаса до очередного релиза. Я не стал там городить никаких циклов, а отделался вот таким говнокодом. Не трогай.
А то, что сейчас в коде там это именно два раза подряд прописано, норма?
gfdjr5 вне форума Ответить с цитированием
Старый 26.07.2015, 20:42  #78
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 14,996


По умолчанию

2 gfdjr5: я же говорю, оно борется с двойным слэшем в начале пути. Каждая строчка убирает лишь один слэш. А две одинаковые строчки убирают двойной слэш.

Оффтоп
Дядя Миша вне форума Ответить с цитированием
Старый 26.07.2015, 20:47  #79
gfdjr5
gfdjr5
[NULL]
Регистрация: 25.11.2012
Сообщения: 554


По умолчанию

[ Цитата ] Сообщение от Дядя Миша: 2 gfdjr5: я же говорю, оно борется с двойным слэшем в начале пути. Каждая строчка убирает лишь один слэш. А две одинаковые строчки убирают двойной слэш.
А, понял
[ Цитата ] Сообщение от Дядя Миша: Оффтоп
Оффтоп
gfdjr5 вне форума Ответить с цитированием
Старый 02.08.2015, 08:16  #80
gfdjr5
gfdjr5
[NULL]
Регистрация: 25.11.2012
Сообщения: 554


По умолчанию

В общем
Посидели мы тут с mittorn'ом ночь и исправили "эффект щита" под cs1.6
Теперь всё работает также, как и в GS и даже лучше

Как это работает
Оффтоп

Какие изменения внести в код
Оффтоп

gfdjr5, подумав, добавил 02.08.2015 в 09:32
Также предоставлю собранный движок 3030 билда с фиксом
http://rghost.ru/6zyrdBC6X#

gfdjr5, подумав, добавил 02.08.2015 в 09:35
Для теста вам нужен дистрибутив от 1.6 и клиент от 1.3

Последний раз редактировалось gfdjr5, 02.08.2015 в 22:02.
gfdjr5 вне форума Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 13:24.


Designed by FT-502, TRUP@C. Originally by Ulric Spaak
Hosted by: VBIOS.COM, Powered by: vBulletin
copyright © 2002 - 2019 by CS-Mapping.com.ua Community