Перейти к содержимому

Донат
На хостинг
ISK за переводы
до 75kk за 1000зн.
Хроники EVE
Сборник
Новичкам
Полезная информация
Фотография

Баги на гейтах


  • Закрытая тема Тема закрыта
22 ответов в теме

#1
Trimutius III

Trimutius III

    Khanid Trader

  • Tech III Pilots
  • PipPipPipPipPipPipPip
  • 6685 сообщений
224
  • EVE Ingame:Trimutius III
  • EVE Alt:Weldy StarFiner
  • Corp:F-053
  • Channel:ru-help
  • Client:Eng
БАГИ НА ГЕЙТАХ
CCP Gangleri | 2009.07.08 21:03:28 | Оригинал блога

Мы недавно исправили баг, который вызывал зависание клиента у некоторых наших пользователей. Были топики на форумах призывающие снести нам головы и тому подобные злобные высказывания. Что можно понять, мы напортачили. Этот блог - это совместная работа меня и CCP GingerDude посвященная раскрытию истории этого бага.

И так начинаем

Присядьте крошки и дайте мне рассказать вам сказку. Давным-давно в беззаботные дни молодости ЕВЕ, в игру была введена клоака. Это было хорошо, и позволило больше гангкать. Потом, пожелания Создателя были таковы, что клоачный шип должен расклоачиваться, если окажется в 2000 местрах от объекта. Это работало, кроме некоторых случаев, когда кто-то варпнул к станции и не расклоачивался по какой-то странной причине, позволяя пилоту задокаться так, чтобы его никто из других игроков не увидел. Этот баг был описан в середине 2004, но это был частный случай, который происходил только на некоторых станциях. Это не сильно мешало игре, и было сложно починить, поэтому было помечено низким приоритетом и оставлено собирать пыль годами.

Входит CCP GingerDude, которому не нравится, когда баги становятся фичами. Чтобы очистить записи от очень старых проблем, он проанализировал обработку близости связанную с клоакой и изменил механизм, чтобы сенсоры ограниченно чувствовали клоачный объект. Вообще говоря, это считалось хорошей штукой, не считая нескольких мелких проблем, казалось, что оно работает хорошо. Так было, пока кто-то не обнаружил, что если вы появляется на определенном расстоянии от НПЦ оставайся заклоаченным на несколько секунд, то НПЦ будут игрорировать вас, поскольку их сенсоры уже вас обработали, пока вы были заклоаченны и расклоачевание не «будило их» снова.

«Ага», – подумал GingerDude, – «нам нужно создать новое событие, когда объект расклоачивается» и решил ввести изменение состояния с клоачной на расклочившееся. Из-за сложных технических проблем корабль не мог просто сгенерировать событие, когда расклоачивался, поэтому он должен себя пометить «расклоачиваюсь», так чтобы симуляция подхватила этот флажок, сгенерировало событие и закончила расклоачивание. Для всех намеряний и целей, находясь в процессе расклоачивания означало, что вы всё ещё в клоаке пока полностью не расклоачитесь. Это важно.

За несколько дней перед запуском Апокрифа 1.2 новая проблема была открыта. Когда корабли пропрыгивали через гейты было несоответствие состояния клоачности в разных клиентах, в некоторых случаях. Это приводило к тому, что клиент не мог обновить состояние клоачности. Это исправли тем, что клиент стал считать состояние расклоачивания так, как будто корабль уже полностью расклоачился (поскольку он всё равно полностью расклоачится через 2 секунды после этого). Но с этим исправлением появилась другая проблема, когда корабль расклоачивался после пропрыга, другие игроки его видят и способны залочить в течении 1-2 секунд, ещё до того как корабль сможет что-либо сделать сам. Это было не очень хорошо, по очевидным причинам.

Чтобы исправить это последний промах мы изменили правила с «расклоачивается значит заклочен» на «расклоачивается значит расклочен» и обновили в соответствии с эти коды сервера и клиента.

Но мы кое-что пропустили.

Глубоко в редко посещаемых пещерах основ симуляции и взаимосвязи слоёв было прописанное предположение, о том какую информацию может хранить переменная клоачного состояния. Расклоачивание игрока А означало, что его корабль должен быть добавлен в симуляцию всех других клиентов в пределах видимости, но этот кусок кода игнорировал корабли в промежуточном состоянии и не добавлял их в симуляции других игроков в это время.

Так из-за чего же зависал мой клиент?

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

Необходимо 2 аккаунта.
1. Два пилота размещаются на одном гейте
2. Первым запрыгивает А, потом Б на примерно 2 секунды позже
3. когда Б прогружает сцену на другой стороне А должен полететь, чтобы его корабль расклочился.
4. заметьте что сессия игрока Б теперь полностью испорчена.

Так что это не то, что случается обычно, если вы часто прыгаете. Это было очень специфичная последовательность событий, которая должна была произойти в узкий промежуток времени, чтобы обнаружить баг. Но тем не менее около 3 миллионов прыжков случались каждый день на Транке, так что не трудно было оказаться «удачливым» в живом окружении. Вот причина, по которой эта специфичная проблема не была поймана, до того как она попала на Транк, просто маловероятно, что она случится на наших малонаселённых тестовых серверах. Даже когда мы знали, как его вызвать, нам было трудно синхронизировать наши действия в локальной тестовой обстановке. В случаях как этот, может быть очень полезно иметь баг репорты, которые детализированы настолько, насколько это возможно, узкий круг событий, которые с одной стороны, кажется, не имеют отношения к проблеме, с другой стороны могут оказаться чекой для целого ряда событий, приводящим к неприятным багам таким, как этот. Зачастую одного баг репорта недостаточно, но когда их накопится достаточно, то мозаика может сложиться в картинку.

Внедрение?

Когда появляется проблема, которая оказывает такой эффект на игре, мы всегда стараемся исправить её как можно скорее. Чтобы это сделать есть специальная команда экспертов, которая называется Live Team. Отличительная черта этих людей в том, что их могут оторвать от всего, чего бы они не делали, если возникнет серьёзная проблема, которая попадает в их область знаний и сообщена на Транке. Этот подход доказал, что он намного более продуктивен, чем отрывание абсолютно всех людей от процесса разработки. Обычно требуется только несколько отдельных людей, чтобы решить каждую проблем, а все остальные могут продолжать свою нормальную рутинную работа по разработке игры. Исправления от этой команды обычно внедряются как хотфиксы, что означает что сервер обновляется в течении ДТ (в редких случаях были обновления без отключения сервера) Без обновления клиента весь процесс разработки гораздо проще, к сожалению, в данном случае необходимо было исправить клиент. И это снова нас возвращает к проблеме времени, клиент обычно обновляется по вторникам, потому что это даёт нам понедельник на подготовку и оставшуюся неделю на то чтобы следить и реагировать на промахи. К сожалению, в данном случае Четверг 21-го был выходным.

Тестирование

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

В заключении приводим порядок событий от обнаружения до внедрения:

Время указано по Гринвичу (по ЕВЕ).
Tuesday,19th of May - Apocrypha 1.2 release
Вторник, 19-е Мая – выпуск Апокрифа 1.2
17:47 -> GM Nythanos, работающий в офисе в Атланте, присылает е-мэйл, сообщающий об огромном количестве петиций, описывающих зависание клиента после пропрыга.
18:35 -> Никаких ошибок в базе данных не обнаружено, она подгружается как надо и не может быть причиной.
19:33 -> Сделана внутренняя бирка, чтобы собирать все баг репорты связанные с этой проблемой.
20:20 -> Создан топик на форуме, который просит, чтобы начинались действия.
22:39 -> Ответ на топик, призывающий отсылать больше баг репортов.
Среда, 20-е Мая – Начинается Расследование
07:54 -> Проблему передают специальной команде, об этом дальше.
12:19 -> Второй ответ в топике на форуме, несколько полезных баг репортов пришло в течение ночи.
12:35 -> CCP Tuxford смог воспроизвести ошибку, и начинает разбираться в коде
14:13 -> Третий ответ в топике на форуме.
Четверг, 21-е Мая – Решение (выходной)
09:33 -> CCP GingerDude начинает работать над исправление проблемы.
12:43 -> Исправление сделано.
17:27 -> Официальный информационный топик создан.
Пятница, 22-е Мая – Создание патча
Построение и тестирование многих версий патча необходимо, что начинать обновление клиента.
Понедельник, 25-е Мая – Зелёный свет для внедрения
Окончательные тесты проведены и проверены все аспекты без видимых проблем, дан зелёный свет для внедрения.
Вторник, 26-е Мая – Обновление Транквилити
09:00 -> Сервер остановлен и устанавливается обновление.
11:57 -> Серверы выходит из VIP режима, то есть открыт для пользователей.

И это, крошки, конец моей сказки о маленьком баге, который попытался ускользнуть.

Сообщение отредактировал Trimutius III: 09 July 2009 - 10:20

  • 1
Я посланник из ниоткуда в никуда. Никто и ничто не посылало меня. И хотя это невозможно, я всё-таки существую. ©Тримутиус
Изображение

#2
Zizilk

Zizilk

    ...

  • Tech III Pilots
  • PipPipPipPipPipPipPipPip
  • 8133 сообщений
751
  • EVE Ingame:Krait Abre-Kai
  • EVE Alt:Brakil Kit, Ziat
  • Corp:NPC
  • Client:Eng
Оо
Мдя... они умеют найти чем им занятся, и чем развлечь других...

Радует, что когда это было я ещё отдыхал от евы XD

Сообщение отредактировал Zizilk: 09 July 2009 - 10:22

  • 0

#3
Trimutius III

Trimutius III

    Khanid Trader

  • Tech III Pilots
  • PipPipPipPipPipPipPip
  • 6685 сообщений
224
  • EVE Ingame:Trimutius III
  • EVE Alt:Weldy StarFiner
  • Corp:F-053
  • Channel:ru-help
  • Client:Eng
А я как раз в ту неделю, решил в кое-то веки впервые за четыре месяца таки полетать попвпшиться, и вот блин релогаюсь после пропрыга и слышу как наши в ТС орут что кого-то валят, в стока киллмыл из-за этого не попал :) Думаю штук на 5 киллов больше было бы если бы не постоянные релоги... Ну правда с тех пор больше ни разу не летал пвпшится пока что.

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

Сообщение отредактировал Trimutius III: 09 July 2009 - 10:32

  • 0
Я посланник из ниоткуда в никуда. Никто и ничто не посылало меня. И хотя это невозможно, я всё-таки существую. ©Тримутиус
Изображение

#4
RLeonis

RLeonis

    Kaoz's modified forum hardener

  • Tech III Pilots
  • PipPipPipPipPipPipPip
  • 5910 сообщений
877
  • EVE Ingame:RLeonis
  • Corp:GoonWaffe
  • Ally:GSF
  • Client:Eng
Отличный топик, может охладит пыл "суперпрофессионалов" (которым дай код они все сделают сами) требующих аддонов для интерфейса.
  • 0

28laseh.jpg

 


#5
Rainbow Hunter

Rainbow Hunter

    Дежурный по зоопарку

  • EVE-RU Team
  • 4778 сообщений
875
  • EVE Ingame:Rainbow Hunter
  • DUST Ingame:test
  • Corp:OMNYX
  • Client:Eng
Как я ребят понимаю, мы тут в одной телекоммуникационной системе баг искали больше месяца, причем он постоянен был, сначала грешили на одно, потом на другое, потом попробовали сделать совсем наоборот, что принесло некторые результаты и дало пищу для размышлений. В конце концов локализовали и нашли причину.
  • 0
Изображение
Травля. RMT. Разведение троллей. Пособничество игровой коррупции.

#6
Finder

Finder

    Clone Grade Lambda

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 4034 сообщений
280
  • EVE Ingame:Netzari
  • Corp:[VISJE]
  • Client:Eng
Неужели до горячих исландских парней только сейчас дошло, что статусная информация на разных клиентах обрабатывается в разное время при наличии в системе более одного пилота? Подобного рода ошибки должны быть исключены на стадии проектирования, здесь они просто очередной раз расписались в своей некомпетентности.
  • 0

#7
Zizilk

Zizilk

    ...

  • Tech III Pilots
  • PipPipPipPipPipPipPipPip
  • 8133 сообщений
751
  • EVE Ingame:Krait Abre-Kai
  • EVE Alt:Brakil Kit, Ziat
  • Corp:NPC
  • Client:Eng

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

читаем внимательнее

кароч, обработка на разных клиентах по разному, стала лишь спусковым крючком бага

Сообщение отредактировал Zizilk: 09 July 2009 - 12:04

  • 0

#8
Trimutius III

Trimutius III

    Khanid Trader

  • Tech III Pilots
  • PipPipPipPipPipPipPip
  • 6685 сообщений
224
  • EVE Ingame:Trimutius III
  • EVE Alt:Weldy StarFiner
  • Corp:F-053
  • Channel:ru-help
  • Client:Eng
Ну да фактически они исправляли баг и везде статус-состояния кода поправили, а в одном месте забыли, в результате чего если на этот кусок кода клиент натыкался в определенные момент времени он вешался, потому что не знал чего делать... Там судя по всему рекурсия получалась бесконечная...

------------------------------------------
О кстати я придумал, простое объяснение на чём был завязан баг... В общем как-то так:

Прогружается клиент в системе, а в это время раклоачивается другой шип, сервер присылает статус этого шипа клиенту:

Клиент: Так я получил статус, судя по всему я должен рисовать этот кораблик.
Сервер: С чего ты взял? Ты не должен его рисовать!
Клиент: Но по моим записям я должен его рисовать.
Сервер: А по моим всё наоборот.
Клиент: Нет ну как же, я должен рисовать.
Сервер: Нет не рисовать я сказал!
....
Ну и так далее, пока пользователю не надоест и он не перезагрузит клиента... :)

Сообщение отредактировал Trimutius III: 09 July 2009 - 12:13

  • 0
Я посланник из ниоткуда в никуда. Никто и ничто не посылало меня. И хотя это невозможно, я всё-таки существую. ©Тримутиус
Изображение

#9
MOH

MOH

    Военкор

  • Tech III Pilots
  • PipPipPipPipPipPipPipPip
  • 7904 сообщений
373
  • EVE Ingame:BOEHKOP
  • EVE Alt:Много разных
  • Corp:-TER-
  • Channel:TERMINOUT
  • Client:Eng
Я правильно понимаю что клоку послегейтовую понерфили в результате?

"украли 2 секунды" у тех кро проходит кемп. или по другому, "подарили" 2 секунды тем кто кемпит?

This was fixed by letting the client treat the de-cloaking state like the ship had fully de-cloaked.
  • 0
Пишу подробный политобзор в соотв разделе, а то они уже 5й год разобратся не могут, у кого яйца из льда, а у кого из стали, бренчат то одинаково. (С) Artsnis

#10
Edo

Edo

    Clone Grade Epsilon

  • Tech III Pilots
  • PipPipPip
  • 289 сообщений
32
  • EVE Ingame:Edo Garr
  • Corp:RIBS
  • Ally:CY-27
  • Client:Eng
Бгы гы, мы как раз в это время роамить пытались, и я всё никак понять не мог, почему народ вылетает, а я нет. Оказывается потому что я был скаутом :)
  • 0
-Знаешь свой главный грех, Мэл?
-Какого черта. Я обожаю все семь.

#11
DarkPhoenix

DarkPhoenix

    Hatred

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPipPip
  • 28659 сообщений
4377

Я правильно понимаю что клоку послегейтовую понерфили в результате?

"украли 2 секунды" у тех кро проходит кемп. или по другому, "подарили" 2 секунды тем кто кемпит?

This was fixed by letting the client treat the de-cloaking state like the ship had fully de-cloaked.

Мне тоже так показалось, когда оригинал читал, но что-то с практикой не стыкуется. Либо новую механику ввели, либо откатили, и забыли указать об этом в дев-блоге.
  • 0

There is a place where the black stars hang
and the strangest eons call that amorphous mass
unknown, immense, ambivalent to all


#12
FURY

FURY

    They think violence will bring peace. Maybe it can.

  • Tech III Pilots
  • PipPipPipPipPip
  • 1652 сообщений
71
  • Client:Eng

Отличный топик, может охладит пыл "суперпрофессионалов" (которым дай код они все сделают сами) требующих аддонов для интерфейса.

лолшто? При чем тут ваще аддоны. Выдыхай.

Тем времением на TQ: Status: Online (358 players queued)
Ребята из ППЦ лучше бы работали побольше, а не стены текста сочиняли. :)

EDIT: ойлолъ: Due to a database failover we are currently restarting the database server. We will complete our downtime from now and expect the server to be up at 10:30 UTC skipping the regular downtime.

Сообщение отредактировал FURY: 09 July 2009 - 13:03

  • 0

#13
Trimutius III

Trimutius III

    Khanid Trader

  • Tech III Pilots
  • PipPipPipPipPipPipPip
  • 6685 сообщений
224
  • EVE Ingame:Trimutius III
  • EVE Alt:Weldy StarFiner
  • Corp:F-053
  • Channel:ru-help
  • Client:Eng
Вы что забыли что ли???

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

вот тут вот это фиксили 19 мая:
http://www.eveonline...?patchlogID=188
  • 0
Я посланник из ниоткуда в никуда. Никто и ничто не посылало меня. И хотя это невозможно, я всё-таки существую. ©Тримутиус
Изображение

#14
Pet[EG]

Pet[EG]

    Luna

  • Tech III Pilots
  • PipPipPipPip
  • 522 сообщений
14
  • EVE Ingame:Nishtyak
  • Corp:UNAV
  • Client:Eng
Неделя на хотфикс - это ппц, тупа ппц.
  • 0
Ivan Wise fan ™

#15
Trimutius III

Trimutius III

    Khanid Trader

  • Tech III Pilots
  • PipPipPipPipPipPipPip
  • 6685 сообщений
224
  • EVE Ingame:Trimutius III
  • EVE Alt:Weldy StarFiner
  • Corp:F-053
  • Channel:ru-help
  • Client:Eng

Неделя на хотфикс - это ппц, тупа ппц.

Ну на самом деле не совсем так...
Во-первых вторник-среда они фиксили другую более серьёзную проблему
А конкретно:

Но с этим исправлением появилась другая проблема, когда корабль расклоачивался после пропрыга, другие игроки его видят и способны залочить в течении 1-2 секунд, ещё до того как корабль сможет что-либо сделать сам. Это было не очень хорошо, по очевидным причинам.

Эта проблема была в том же Апокрифе 1.2, просто её пофиксили первой, а потом уже стали фиксить зависания на гейтах... Хотя блин на оффоруме целую неделю до патча писали про эти 1-2 секунды, исписали 13 страниц про эту ошибку на СиСи, и всё равно оно попало в конечный патч, это ппц какой-то, девы блин даже форум не читали...
Вот её фиксили первые два дня...
Потом в четверг все кроме одного бухали, типа празднег в Исландии... потом в пятницу стряпали, патч потом выходные, ну и потом понедельник вторник... Если бы не было празднега в четверг то патч был бы уже в пятницу или субботу думаю... (обычно так и бывает)
  • 0
Я посланник из ниоткуда в никуда. Никто и ничто не посылало меня. И хотя это невозможно, я всё-таки существую. ©Тримутиус
Изображение

#16
ZIgi

ZIgi

    Clone Grade Eta

  • Tech III Pilots
  • PipPipPipPip
  • 641 сообщений
34
  • EVE Ingame:ZIgi507
  • Corp:SoT
  • Client:Eng
> это ппц какой-то, девы блин даже форум не читали
Имо девы и не обязаны постоянно мониторить игровой форум(а перед патчем у них тем более есть чем заняться), доносить такого рода сведенья до разработчиков должны соответсвующие люди отвечающие за взаимодействие с пользовтаелями, и чуваки из QA, учитывая что глюк появился с новыми изменениями.
  • 0
Изображение

#17
Trimutius III

Trimutius III

    Khanid Trader

  • Tech III Pilots
  • PipPipPipPipPipPipPip
  • 6685 сообщений
224
  • EVE Ingame:Trimutius III
  • EVE Alt:Weldy StarFiner
  • Corp:F-053
  • Channel:ru-help
  • Client:Eng

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

Да блин... Там баг репорты были, 13 страниц на офф форуме было... И не важно кто именно должен этим заниматься, я подразумевал лишь то что тот кто должен был этим заниматься явно не справился со своей работой, потому что девы удивились, когда узнали что про баг сообщили ещё за неделю до патча, и до них эта инфа не дошла...
  • 0
Я посланник из ниоткуда в никуда. Никто и ничто не посылало меня. И хотя это невозможно, я всё-таки существую. ©Тримутиус
Изображение

#18
Darth Fett

Darth Fett

    Clone Grade Eta

  • Tech III Pilots
  • PipPipPipPip
  • 818 сообщений
209
  • EVE Ingame:Darth Fett
  • Corp:Iris
  • Ally:GE
  • Client:Eng
Интересно они сами то поняли почему зависал клиент? Судя по девблогу - не особо. И мне одному кажется что девблоги какие-то укурышы пишут?
  • 0

#19
Trimutius III

Trimutius III

    Khanid Trader

  • Tech III Pilots
  • PipPipPipPipPipPipPip
  • 6685 сообщений
224
  • EVE Ingame:Trimutius III
  • EVE Alt:Weldy StarFiner
  • Corp:F-053
  • Channel:ru-help
  • Client:Eng

Интересно они сами то поняли почему зависал клиент? Судя по девблогу - не особо. И мне одному кажется что девблоги какие-то укурышы пишут?

Вообще-то там объясненно хоть и не очень четко... Но идея такая, на сервере получалось статус у корабля один (заклочен) а на клиенте другой (расклочен), что вызывало рекурсию ошибок связанных с несовпадением данных на сервере и на клиенте...
  • 0
Я посланник из ниоткуда в никуда. Никто и ничто не посылало меня. И хотя это невозможно, я всё-таки существую. ©Тримутиус
Изображение

#20
Oloth Teken'duis

Oloth Teken'duis

    PvF 80 lvl

  • Tech III Pilots
  • PipPipPipPipPip
  • 3612 сообщений
33
  • EVE Ingame:Sofia Meites
  • Corp:xX-St.Anger-Xx
  • Channel:ZLO
  • Client:Eng
я смотрю у нас тут форум крутых программистов )) кто тут возмущается дофига сам хоть что то написал в жизни? стабильное. рабочее и главное ВОСТРЕБОВАННОЕ?
  • 0

ИзображениеxX-St.Anger-Xx [-3LO-], Набор пилотов

Изображение
Форумный воин 80 lvl'а





0 посетителей читают тему

0 members, 0 guests, 0 anonymous users