doom2d.org

Главная база плоских морпехов
It is currently 18 May 2024, 12:55

All times are UTC + 3 hours




Post new topic Reply to topic  [ 29 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: 28 Jun 2016, 15:15 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 7535
Location: \\HULK
0. Подрубаешься к игре.
1. Скачиваешь карту.
2. Дисконнект и реконнект.
3. Твоя (свежескачанная) карта почему-то отличается от той, что на сервере.
4. Боль и унижение.

_________________
И неважно, что нет морей на Марсе, каждый морпех носит море в сердце.


Top
 Profile  
 
PostPosted: 28 Jun 2016, 17:55 
Offline
Приколист

Joined: 18 Oct 2009, 12:00
Posts: 1252
Location: Подмосковье
Поподробнее про шаг 2. Дисконнект и реконнект как? Во время закачки? Во время игры?

_________________
aka fgsfds & PrimuS


Top
 Profile  
 
PostPosted: 30 Jun 2016, 15:18 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 7535
Location: \\HULK
Во время игры. Играешь несколько минут, потом дисконнектишься и не можешь переподключиться.

_________________
И неважно, что нет морей на Марсе, каждый морпех носит море в сердце.


Top
 Profile  
 
PostPosted: 20 May 2018, 01:13 
Offline
Приколист
User avatar

Joined: 24 Jan 2012, 15:18
Posts: 1422
Location: Москва
Не могу воспроизвести этот баг.

_________________
by Stas'M


Top
 Profile  
 
PostPosted: 24 Feb 2023, 00:07 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 6680
Location: Владивосток
По всей видимости, именно этот баг исправили когда Кетмар переписал систему закачки карт практически с нуля в своё время.

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

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 24 Feb 2023, 00:29 
Offline
Приколист
User avatar

Joined: 04 Feb 2010, 14:42
Posts: 902
Location: Equestria
Черный Думер wrote:
Однако всё ещё есть (вероятно, связанный с ним) другой баг, к которому уже все настолько привыкли, что я не нашёл здесь его описания.
Заключается он в том, что скачивание карты может не начаться после смены раунда, из-за чего приходится переподключаться к серверу.
Баг чудовищно раздражающий и совершенно однозначно сбивающий с толку новичков.

Зависание закачки я один раз чинил https://repo.or.cz/d2df-sdl.git/commit/d44f15771c529f2049fafb1364cd12529e950ab6
Когда Кэтмар всё переписал и добавил хэши - снова появилась проблема.
Сейчас чаще всего зависает на первом же пакете, но и иногда дальше.
Моё недавнее расследование показало что пакеты с данными высылаются с сервера, но не доходят до клиента. Канал reliable силами енета, хз почему он не повторяет пересылку.


Top
 Profile  
 
PostPosted: 24 Feb 2023, 00:40 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 6680
Location: Владивосток
DeaDDooMER» Моё недавнее расследование показало что пакеты с данными высылаются с сервера, но не доходят до клиента. Канал reliable силами енета, хз почему он не повторяет пересылку.
Помню, что раньше экран загрузки мог съедать некоторые сетевые пакеты, чтобы обрабатывать выключение сервера посреди загрузки.
Может ли быть здесь тоже что-то в подобном духе? ENet'овский reliable обязан отрабатывать, я не вижу ни одной причины, по которой он мог бы этого не делать.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 24 Feb 2023, 01:13 
Offline
Приколист
User avatar

Joined: 04 Feb 2010, 14:42
Posts: 902
Location: Equestria
Не, вроде ничего не съедает. Пакеты для скачивания идут отдельным от игровых данных каналом. А дисконнект отдельным эвентом.
Но надо самому пособирать сервер с отладочным выводом, но на локахоте такое тестить проблемно т.к. не воспроизводится (иначе кэтмар сам бы починил).


Top
 Profile  
 
PostPosted: 02 Mar 2023, 01:52 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 6680
Location: Владивосток
Когда сегодня играли с TerminalHash в Cooperative, то заметил, что оно даже сам doom2d.wad мне один раз скачивало.
При этом моя копия точно ничем не отличалась (проверил это потом специально). Думаю, клубок неисправностей можно начать разматывать с этой проблемы.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 09 Mar 2023, 17:09 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 6680
Location: Владивосток
Проверили на моём локальном сервере, поднятом на стандартных настройках и без maplist'ов. Не воспроизвелось даже у Джа с пингом за сотню.
Однако этот баг стабильно воспроизводится у меня, например, на польском сервере.
А сегодня ещё удалось поймать и зависание посреди загрузки файла, причём это снова был стандартный doom2d.wad:

Attachment:
File comment: нотариально заверенный скриншот
2023-03-09_231245.png
2023-03-09_231245.png [ 76.8 KiB | Viewed 168 times ]

Вообще, я бы мог попытаться это отладить, раз уж у меня воспроизводится. Но мне нужно более-менее полное описание нынешней системы, то есть того, что такое hash database, replacements и прочие странные вещи оттуда, которые прошли мимо меня и которых я раньше не видел.


Attachments:
File comment: лог клиента
Doom2DF.log [13.96 KiB]
Downloaded 23 times

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.
Top
 Profile  
 
PostPosted: 10 Mar 2023, 22:01 
Offline
Шерлок Холмс
User avatar

Joined: 19 Jun 2019, 23:28
Posts: 416
Location: Equestrian Wasteland.
Или вторая, или третья попытка изысканий на тему была в администраторской в 03:52 12-го февраля.
Краткая выжимка:

Code:
<SovietPony> аки каким-то образом теряются
<TerminalHash> И выяснить это хер пойми как?
<SovietPony> да
<SovietPony> по идее енет сам должен повторять
...
<fgsfds> нахуя там вообще аки если в енете уже есть аки
<SovietPony> я хуй знает, кэтмар так сделал
<SovietPony> как видишь, енетовские не сильно помогают
<fgsfds> дык если енетовские не доходят, то те что поверх енетовских тем более не дойдут\
<SovietPony> ну да
<SovietPony> хз в чем дело


Attachments:
dfserver_test.log [89.88 KiB]
Downloaded 29 times
dfserver_test1.log [12.52 KiB]
Downloaded 29 times

_________________
aka TerminalHash.
Top
 Profile  
 
PostPosted: 10 Mar 2023, 22:03 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 6680
Location: Владивосток
Это какая-то лажа. Я куда больше поставлю на то, что здесь мы просто косячим где-то, чем на реальную потерю пакетов ENet'ом.

Скажите кстати, как включать отладку передачи файлов чтобы в лог писало?

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 10 Mar 2023, 22:06 
Offline
Шерлок Холмс
User avatar

Joined: 19 Jun 2019, 23:28
Posts: 416
Location: Equestrian Wasteland.
Ай, ладно, пускай оба лога висят.

Черный Думер» Это какая-то лажа. Я куда больше поставлю на то, что здесь мы просто косячим где-то, чем на реальную потерю пакетов ENet'ом.
Во второй раз когда мы пробовали, Лошад что-то там у себя сделал, скорее всего так же расскоментировал дебажный вывод и смотрел, что там происходит. Пакеты тупо перестают долетать.

Черный Думер» Скажите кстати, как включать отладку передачи файлов чтобы в лог писало?
Code:
<SovietPony> в g_net.pas в ProcessChunkSend() и ProcessDownloadExPacket() надо расскомменить всякие e_LogWritefln
Окромя тех, что со значением stx, это строки 1192 и 1250 если что.

_________________
aka TerminalHash.


Top
 Profile  
 
PostPosted: 10 Mar 2023, 23:09 
Offline
Шерлок Холмс
User avatar

Joined: 19 Jun 2019, 23:28
Posts: 416
Location: Equestrian Wasteland.
Подведу более детальную симптоматику, которая работает ещё бог знает с какого момента, так как он ещё в 20-м году был.
Баг с закачкой возникает в том случае, если:
А) Ты подключился на сервер и карта сразу же (или в течении пары минут) сменилась на другую, что у тебя нет;
АА) Как разновидность - при смене карты через endmap или map huiyovayamapa.wad map01, количество проведённого времени на сервере не влияет;
Б) Во время игры случайным образом;
В) В редких случаях обрыв возникает в процессе загрузки.
Шансы возникновения бага напрямую зависят от того, что за провайдер интернета и какой пинг до сервера, не играет роли, что за система на хосте и как собран безголовик, кроме случаев А и AA - они возникают стабильно даже при 40-60мс пинге, исходя из собственных наблюдений.

  • Если клиент находится рядом с сервером относительно географической зоны и пинг у него порядка 30-60мс - проблемы Б и В относительно редко возникают, хотя есть шансы, что при большом количестве игроков (около четырёх или шести, точно пока не скажу) они будут возникать стабильно рандомно - допустим, у двух игроков одинаковый пинг и у одного ни разу качалка не сломалась, а у другого несколько раз или вовсе стабильно один-два раза за всю игровую сессию;
  • При пинге от 70 случаи Б и В начинают возникать чаще;
  • А при пинге выше сотни всегда возможно поймать этот баг, даже если ты играешь на сервере полчаса-час, исходя из игрового таймера.

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

_________________
aka TerminalHash.


Top
 Profile  
 
PostPosted: 13 Mar 2023, 22:53 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 6680
Location: Владивосток
Черный Думер» Помню, что раньше экран загрузки мог съедать некоторые сетевые пакеты, чтобы обрабатывать выключение сервера посреди загрузки.
Может ли быть здесь тоже что-то в подобном духе?

DeaDDooMER» Не, вроде ничего не съедает. Пакеты для скачивания идут отдельным от игровых данных каналом. А дисконнект отдельным эвентом.

Посмотрел - всё оказалось именно так, как я говорил. Очень странно, что никто почему-то не увидел этого раньше, меня аж расстроило. Это было всего-то второе моё предположение - первое заключалось в возможной потере пакетов подобно тому, как пропадали данные в потоке TCP при работе с 39dll в Doom2DMP из-за переполнения внутреннего буфера WinSock2 на 64 килобайта.
Суть в чём. В коммите b171ccb1 (октябрь 2019) Кетмар сделал странную вещь: он добавил три проверки на получение пакетов по каналу передачи карт. Одна находится в g_game.pas, две - в g_net.pas, и все они определяются по комментарию "ignore all download packets, they're processed by separate code", по которому видна изначальная задумка.

Проблема же в том, что на этих местах пакет УЖЕ вытащен из очереди вызовом функции enet_host_service(), то есть как только мы отказываемся от его обработки, то он исчезает в никуда. И да, такое уже было.

Проверка в g_game.pas не оказывает вообще никакого влияния (её можно убрать), потому что находится в функции g_Game_StartClient(), вызываемой только при подключении к серверу. До неё нельзя дойти из последующего вызова g_Res_DownloadMapWAD() или сопутствующих функций. О проверке в g_Net_Client_Update() из g_net.pas можно сказать то же самое. А вот проверка в g_Net_Client_UpdateWhileLoading() как раз всё и ломает, потому что эта функция вызывается из ProcessLoading(), а она в свою очередь вызывается аж из пяти (!) мест, которые постоянно дёргаются кодом передачи:

  • g_Game_SetLoadingText() - выставление строк текста в процессе загрузки
  • g_Game_StepLoading() - обновление строки загрузки с показателем скачанного ("downloading map")
  • g_Net_Wait_MapInfo() - запрос информации о карте (читай: о файле карты)
  • g_Net_RequestResFileInfo() - запрос информации о файлах-ресурсниках карты
  • g_Net_ReceiveResourceFile() - получение файла-ресурсника

Парадоксально, но Кетмар здесь не виноват - он просто этого сначала не учёл, а затем не совсем понял (и сделал тот странный коммит).
То есть, причина очень простая: если получение первого пакета клиентом выпадало на вызов enet_host_service() не из кода скачивания, а из ProcessLoading(), то возникало зависание. Отсюда же связь с высоким пингом, кстати. Удостовериться довольно просто - достаточно закомментировать там вызов g_Net_Client_UpdateWhileLoading(), после чего всё начинает на удивление хорошо работать. При тестировании выяснилось, что текущая система даже поддерживает докачку при следующем подключении в случае прерывания соединения. Спасибо, Кетмар!

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

Следует заметить, что при заходе на сервер эта проблема не возникала потому, что g_Game_StartClient() и клацаемая ею g_Net_Connect() хоть и вызывают сами ProcessLoading(), но g_Game_StartClient() в самом начале выставляет NetState := NET_STATE_AUTH, который держится вплоть до начала игры, и при котором обработка сети в ProcessLoading() не производится.

Сейчас придумаю, как по уму всё это поправить, и закоммичу. Делать отдельный NET_STATE_DOWNLOAD не хочу - мало ли какие там косяки ещё могут вылезти на этом.

Prostovitalik» нахуя там вообще аки если в енете уже есть аки
DeaDDooMER» я хуй знает, кэтмар так сделал

Это для того, чтобы не держать все файлы в памяти во время передачи. Спросил у него лично, он подтвердил.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 14 Mar 2023, 00:46 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 6680
Location: Владивосток
Посмотрел, где используется функция ProcessLoading() в клиентском коде, нашёл такие случаи:

  1. g_Net_Connect() - обработка сети не нужна совсем, потому что нет ещё никакой сети.
  2. g_Net_Wait_MapInfo() - прокидывает не свои пакеты в g_Net_ClientLightMsgHandler() сама.
  3. g_Net_RequestResFileInfo() - прокидывает не свои пакеты в g_Net_ClientLightMsgHandler() сама.
  4. g_Net_ReceiveResourceFile() - прокидывает не свои пакеты в g_Net_ClientLightMsgHandler() сама.

А это значит, что в ProcessLoading() достаточно обрабатывать сеть только для сервера.
Поэтому просто убрал код обработки сети клиента оттуда, а заодно пришиб с лёгкой совестью g_Net_Client_UpdateWhileLoading() как таковую.

Исправление закоммитил (54de7377), проверяйте. Версию на сайте надо бы пересобрать, хуже едва ли будет.
Протестировал путём удаления всей папки maps и последующим меланхоличным вбиванием 'callvote endmap' на сервере GNU/Horse. Ни разу не загнулось.
Если и существующие файлы больше не будут скачиваться, то можно считать исправленным, думаю.
Пока что же помечаю как "в работе".

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 14 Mar 2023, 01:05 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 6680
Location: Владивосток
Ага, вот сейчас скачал Dwango6.7.wad (как Dwango6_75b5ea4c546d590a.wad) с сервера GNU/Horse, а оно карту загрузило, но выдало в консоль такое:

Code:
[8:02:53] *** Starting net game (client)...
[8:02:53] *** NET: Trying to connect to 62.122.214.68:25668...
[8:02:53] *** refreshing map database
[8:02:53] *** refreshing resource database
[8:02:54] *** cleared replacement wads
[8:02:54] *** Downloading map [Dwango6.7.wad] from server...
[8:02:54] *** g_Net_Wait_MapInfo: got message 14 from server (dataLength=74)
[8:02:54] *** g_Net_Wait_MapInfo: creating map info packet...
[8:02:54] *** g_Net_Wait_MapInfo: parsing map info packet (rd=0; max=73)...
[8:02:54] *** g_Net_Wait_MapInfo: map wad is `Dwango6.7.wad`
[8:02:54] *** g_Net_Wait_MapInfo: map wad size is 1042092
[8:02:54] *** g_Net_Wait_MapInfo: map external resource count is 1
[8:02:54] *** g_Net_Wait_MapInfo: got map info
[8:02:54] *** received transfer packet with id 11 (39 bytes)
[8:02:54] *** got file info for resource #-1: size=1042092; name=Dwango6.7.wad
[8:02:54] !!! map disk file for `Dwango6.7.wad` is `C:/Users/Admin/Desktop/d2df-latest/maps/downloads//Dwango6_75b5ea4c546d590a.wad`
[8:02:54] *** file `C:/Users/Admin/Desktop/d2df-latest/maps/downloads//Dwango6_75b5ea4c546d590a.wad`, size=0 (1042092)
[8:02:54] *** receiving file `C:/Users/Admin/Desktop/d2df-latest/maps/downloads//Dwango6_75b5ea4c546d590a.wad` (128 chunks)
[8:03:12] *** file transfer complete.
[8:03:12] *** ignoring wad resource `standart.wad` by user request
[8:03:12] *** using downloaded map wad [C:/Users/Admin/Desktop/d2df-latest/maps/downloads//Dwango6_75b5ea4c546d590a.wad] for [Dwango6.7.wad]`
[8:03:12] *** Cleared monster data (clearGrid=true)
[8:03:12] *** g_Map_Free: no previous map.
[8:03:12] *** cleared replacement wads
[8:03:12] *** Downloading map [Dwango6_75b5ea4c546d590a.wad] from server...
[8:03:12] *** g_Net_Wait_MapInfo: got message 14 from server (dataLength=74)
[8:03:12] *** g_Net_Wait_MapInfo: creating map info packet...
[8:03:12] *** g_Net_Wait_MapInfo: parsing map info packet (rd=0; max=73)...
[8:03:12] *** g_Net_Wait_MapInfo: map wad is `Dwango6.7.wad`
[8:03:12] *** g_Net_Wait_MapInfo: map wad size is 1042092
[8:03:12] *** g_Net_Wait_MapInfo: map external resource count is 1
[8:03:12] *** g_Net_Wait_MapInfo: got map info
[8:03:12] *** ignoring wad resource `standart.wad` by user request
[8:03:12] *** using downloaded client map wad [C:/Users/Admin/Desktop/d2df-latest/maps/downloads/Dwango6_75b5ea4c546d590a.wad] for [C:/Users/Admin/Desktop/d2df-latest/maps/downloads//Dwango6_75b5ea4c546d590a.wad]
[8:03:12] *** Loading map WAD [C:/Users/Admin/Desktop/d2df-latest/maps/downloads/Dwango6_75b5ea4c546d590a.wad] (res=[C:/Users/Admin/Desktop/d2df-latest/maps/downloads/Dwango6_75b5ea4c546d590a.wad:\MAP01])
[8:03:12] *** Loading map: MAP01
[8:03:12] ***   Reading map info...
[8:03:12] ***   Loading textures:
[8:03:12] !   DFWAD: file [textures/eburn1] not found in [C:/Users/Admin/Desktop/d2df-latest/maps/downloads/Dwango6_75b5ea4c546d590a.wad]
[8:03:12] !   Error loading texture chkn_resourses.wad:textures\eburn1
[8:03:12] !   Ошибка: Не получилось создать обычную текстуру "ChKn_resourses.wad:TEXTURES\EBURN1"
[8:03:12] !   DFWAD: file [textures/edead4] not found in [C:/Users/Admin/Desktop/d2df-latest/maps/downloads/Dwango6_75b5ea4c546d590a.wad]
[8:03:12] !   Error loading texture chkn_resourses.wad:textures\edead4
[8:03:12] !   Ошибка: Не получилось создать обычную текстуру "ChKn_resourses.wad:TEXTURES\EDEAD4"
[8:03:12] !   DFWAD: file [textures/emeat3] not found in [C:/Users/Admin/Desktop/d2df-latest/maps/downloads/Dwango6_75b5ea4c546d590a.wad]
[8:03:12] !   Error loading texture chkn_resourses.wad:textures\emeat3
[8:03:12] !   Ошибка: Не получилось создать обычную текстуру "ChKn_resourses.wad:TEXTURES\EMEAT3"
[8:03:12] !   DFWAD: file [textures/emeat5] not found in [C:/Users/Admin/Desktop/d2df-latest/maps/downloads/Dwango6_75b5ea4c546d590a.wad]
[8:03:12] !   Error loading texture chkn_resourses.wad:textures\emeat5
[8:03:12] !   Ошибка: Не получилось создать обычную текстуру "ChKn_resourses.wad:TEXTURES\EMEAT5"


Глянул в wads/ - а там такого ресурсника (ChKn_resourses.wad) и в помине нет. Видимо, где-то отломана вдобавок их передача.
Так-то карта загружается и играть можно, просто текстуры некоторые отсутствуют.

Ещё по-хорошему надо убрать полные пути к файлам из сообщений об ошибках (выше такое упоминалось), а то потенциально чувствительная информация палится. Пишу, чтобы не забыть.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 14 Mar 2023, 02:03 
Offline
Шерлок Холмс
User avatar

Joined: 19 Jun 2019, 23:28
Posts: 416
Location: Equestrian Wasteland.
Черный Думер wrote:
Глянул в wads/ - а там такого ресурсника (ChKn_resourses.wad) и в помине нет. Видимо, где-то отломана вдобавок их передача.
Так-то карта загружается и играть можно, просто текстур некоторых нет.

Нет, ресурсники докачиваются точно так же с сервера и его у меня просто нет. Я когда качал DWANGO карты, не заметил, что какие-то требуют ресурсники, либо это вообще не указывалось.

_________________
aka TerminalHash.


Top
 Profile  
 
PostPosted: 14 Mar 2023, 02:08 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 6680
Location: Владивосток
FoxFromPripyat» Нет, ресурсники докачиваются точно так же с сервера и его у меня просто нет.
FoxFromPripyat» Я когда качал DWANGO карты, не заметил, что какие-то требуют ресурсники, либо это вообще не указывалось.

А, это окрыляет. Скажи, когда починишь.
Если заработает, то получается, что оно выживает даже в такой ситуации. Кетмар, спасибо тебе ещё раз! (авансом)

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 14 Mar 2023, 02:11 
Offline
Шерлок Холмс
User avatar

Joined: 19 Jun 2019, 23:28
Posts: 416
Location: Equestrian Wasteland.
Глянул в тему карт, на которых я заметил отсутствие ресурсника - они вообще непонятно где берутся, их в теме нет. Так что вряд-ли я это смогу поправить прямо сейчас.

_________________
aka TerminalHash.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 29 posts ]  Go to page 1, 2  Next

All times are UTC + 3 hours


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
doom2d.org, since 2005