Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Классический арканоид для любителей ретро-игр. Защитите космический корабль с Печенькой (и не только) на борту, проходя уровни в арканоиде.

Арканоид Пикабу

Арканоид, Аркады, Веселая

Играть

Топ прошлой недели

  • Oskanov Oskanov 8 постов
  • alekseyJHL alekseyJHL 6 постов
  • XpyMy XpyMy 1 пост
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Новости Пикабу Помощь Кодекс Пикабу Реклама О компании
Команда Пикабу Награды Контакты О проекте Зал славы
Промокоды Скидки Работа Курсы Блоги
Купоны Biggeek Купоны AliExpress Купоны М.Видео Купоны YandexTravel Купоны Lamoda
Мобильное приложение

Ultima Online

С этим тегом используют

MMORPG Игры Ретро-игры Все
68 постов сначала свежее
38
akatosh199512
akatosh199512
5 месяцев назад
Лига Геймеров

А вы будете играть в 50 лет?⁠⁠

Компьютерные игры Игры Гильдия Бабушка США Ultima Online Видео Вертикальное видео Булджать
38
130
Krubster
Krubster
7 месяцев назад
Уголок ретрогеймера
Серия Админим сервер Ultima Online 14 лет

Админим сервер Ultima Online 14 лет — заключительная часть лонга⁠⁠

Продолжение эпоса по разработке эмулятора старой мморпг. Первые три части по ссылкам ниже, если вы пропустили.
Первая часть
Вторая часть
Третья часть
Четвертая часть

Админим сервер Ultima Online 14 лет — заключительная часть лонга MMORPG, Ретро-игры, Ultima Online, Видео, Вертикальное видео, Длиннопост

2024 год – Пираты получили по заслугам

Год, в котором принимать пожертвования стало максимально сложно. Хотя тенденция ясно проглядывалась с 2014, как всегда очевидные вещи становятся достаточно неожиданными. Происходит так, потому что всегда думаешь - ну вроде бы это все, хуже уже быть не может.

Если брать относительно того, в каких условиях мы начинали, т.е. - возможность принимать донат сотней разных вариантов, каждый из которых был удобен и для нас, и для пользователей, то сейчас мы оказались в ситуации, когда 70% наших игроков могут использовать платежи только через крипту. В которою, разумеется, никто не может, несмотря на отснятое видео-faq. А остальные 30% за каждую 1000 рублей переплачивают 150-200 в зависимости от способа. А потом переплачиваем мы, проходя квесты с комиссиями и лимитами на вывод через сервисы, и все чаще еще и P2P, чтобы иметь возможность что-то на эти деньги оплатить. Таким образом, если раньше можно было купить условную краску в два клика за две минуты с пластиковый карты ничего не переплачивая, то сейчас проще не заморачиваться, обойдясь без нее.

Когда пытаешься задонатить любимому серверу в новой реальности.

Наверняка многих интересует вопрос - сколько денег все это приносит. Если смотреть на протяжении всех лет, то сумма исчисляется несколькими миллионами рублей. Точно никто и никогда не считал, но больше 3 и, вероятно, меньше 5. Если потные ручонки уже стали потирать сами себя - стоит помнить о сроках. Используя простую математику, станет понятно, что все достаточно грустно, особенно учитывая расходы. Второй вопрос, который может возникнуть - если люди тратят деньги, почему они играют у нас, а не на официальном сервере? Так вы просто сравните!

Наши баги: ИИ забывал, что моб умер, и продолжал двигать трупом и драться. А как-то, дав способность слаймам (живые лужицы) объединяться в слаймы побольше сливаясь друг с другом, мы забыли поставить лимит таких слияний. В какой-то момент, получался гигачад-слайм, который убивал всех с одного взгляда в сторону игрока, и после продолжал поглощать сородичей, ведь этим сервером может править только один. Кроме того, однажды, введя новый данж с механикой "волн" мы замедляли сервер до состояния картошки, после чего он падал. Дело было в том, что из-за несовершенства системы поиска пути мобы застревали в определенных местах, а сзади уже шли новые волны, застревая об застрявших. В какой-то момент количество мобов исчислялось тысячами на клочке земли в пару метров с закономерным итогом. Деление на ноль (в буквальном смысле), для моба, с интеллектом 0 при касте заклинаний? Да ради бога.

Типичная работа нашего железа при 100% нагрузке на все узлы из-за багов.

Один раз мы даже превратили нашего бота-стримера, о котором шла речь выше, в снеговика. С точки зрения механики, наша "камера" представляла собой просто невидимого человека с прозрачным телом, только с правами доступа выше плеера. Но в нашего новогоднего рейд-босса проверку по уровням доступа добавить забыли. Поэтому, в какой-то момент, босс, следуя своим механикам боя превратил нашу камеру в снеговика, а потом еще и выбил из инвиза. Было и такое, что игрокам при входе на ивент удаляло все вещи, включая рюкзак персонажа. Это важно, потому что персонаж создается с рюкзаком, и избавиться от него никаким образом невозможно, физически это даже не предмет.

Или - в Ультиме у предметов есть прочность, и предметы ломаются со временем. Булава ломает предметы сильнее другого оружия. Одним осенним днем у людей, находящихся в сейф-зоне (невозможно нанести дамаг), стали пропадать предметы. Как вы уже, наверное, могли догадаться несмотря на то, что дамаг не считался как таковой, скрипт обсчета количества повреждений работал исправно, причем только для булавы. Так, один находчивый парень за пару часов отлупил оным способом пол сервера, сделав всех оборванцами. А происходило так потому, что стоял он за пределами безопасной зоны атакуя тех, кто находился внутри нее. Хитпоинты не списывались, а вот прочность - да.

Админим сервер Ultima Online 14 лет — заключительная часть лонга MMORPG, Ретро-игры, Ultima Online, Видео, Вертикальное видео, Длиннопост

Место в котором орудовал наш герой - по лестнице проходит граница зон.

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

Теперь баги официалов: скучные дюпы вещей, за которые потом банили пол сервера, когда люди просто покупали вещи с вендоров без возможности понять, что это нелегальная вещь. Скучные визуальные дюпы золота, когда при высоком пинге показывает предметы, которых на самом деле нет. Стирание всех макросов игрока, при использовании определенного предмета и релога в игру. Рассинхроны с сервером, когда невозможно зайти в игру по несколько минут после дисконнекта. Откат на неделю? Легко. Понимаете, насколько ошибки произведение искусства у нас, и насколько все скучно на официальных серверах?

Конечно, возможно дело в высокой цене, сложностях с оплатой, неиграбельном пинге. Может, в двух десятках пустых серверов кроме одного с отсутствием локализации и сбитым прайм-таймом, но лично я считаю, что дело именно в описанном выше. Так что, за всех говорить не буду, но у нашей пиратки еще точно есть козыри в рукаве, пусть и достаточно странные. А еще горячая новость, которую все уже успели обсудить - в России заблокировали Discord. Наш канал не так давно перевалил отметку в 1000 пользователей, к которой шел добрый пяток лет, так что, будем считать, отметили с помпой. Настало время расконсервировать телегу и "Here we go again".

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

Послесловие

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

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

Твое настроение, когда описываешь плюсы в послесловии.

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

Уже нет запала и настроя, а есть много выгорания - все сложнее заставлять себя включать дискорд хоть раз 10 в год, и публиковать новости и рассылки. Все меньше становится обновлений и ответов на тикеты, хотя они все еще есть. Конечно, вложи мы столько сил, труда и боли в какую-то более популярную игру, а не в ту, о которой никто не слышал, сейчас бы уже жили на проценты со счетов, но сердцу не прикажешь. Повторил бы снова? Сначала нужно крутануть волчок, и посмотреть, упадет он или нет.

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

"Возникал ли у вас когда-нибудь вопрос к себе – зачем я вообще этим занимаюсь? У меня вот - примерно каждый день. Однако, оглядываясь назад на эти 110к символов истории успешного антиуспеха, я все-таки понимаю и тешу себя мыслью, что потраченного времени не жаль и мы все же привнесли в этот мир что-то хорошее и подарили людям хоть сколько-то приятных впечатлений. Как уже было сказано выше, жалею ли я о потраченном времени и силах – нет. Повторил бы я это снова, если бы вернулся в прошлое – почему нет? Как минимум это был опыт, пускай и сомнительный с точки зрения конвертации в деньги, как максимум – я купил себе компьютер. Так что, занимайтесь тем, что вам нравится, даже если это кажется полной фигней и бессмыслицей. Что-то точно получится, а бросить на полпути и ничего не добиться в итоге – соевые мувы. Но все же выбирайте игру помоложе, хотя бы из нашего века, я серьезно."

Что же касается сервера - скоро 2025, и наверняка хоть в каком виде, но мы дотянем до своего 15 летия, возможно - с парой человек, но постоянного онлайна и просто принципиально. Конечно, есть ощущение, что все это движется в закат и объективно говоря, когда этот день наступит - пожалуй будет только чувство облегчения. У нас уже давно нет никаких целей по бусту онлайна просто потому, что он и раньше был слабо возможен для игры, которой буквально десятки лет, а в текущей ситуации невозможен вовсе (сыны депутатов предательски все не начинают играть у нас).

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

Сможем ли мы еще удивить? Хочется написать - скорее всего уже нет, но вся наша история говорит об обратном. Мы как свет звезд - сами давно мертвы и из ушедшей эпохи, но все еще летим сквозь интернет-вселенную, просто потому что, так все устроено.

Показать полностью 2 3
[моё] MMORPG Ретро-игры Ultima Online Видео Вертикальное видео Длиннопост
40
59
Krubster
Krubster
7 месяцев назад
Уголок ретрогеймера
Серия Админим сервер Ultima Online 14 лет

Админим сервер Ultima Online 14 лет — четвертая часть лонга⁠⁠

Продолжение эпоса по разработке эмулятора старой мморпг. Первые три части по ссылкам ниже, если вы пропустили.
Первая часть
Вторая часть
Третья часть

Админим сервер Ultima Online 14 лет — четвертая часть лонга Ultima Online, MMORPG, Ретро-игры, Видео, Вертикальное видео, Длиннопост

2020 год – No pain, no gain

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

Проблема заключалась в том, что на офе у людей уходило много времени и сил для получения предмета, который мог быть редким или мог быть получен в какой-то ограниченный срок ограниченным числом игроков. У нас же и по факту предмет был доступен всем, кто просто пофармит мобов и набьет нужное количество золота. Что создавало ситуации, когда вроде бы редкие ценные предметы в оригинале постепенно становились мусором у нас. Вот еще пример, уже более вопиющий - из-за неравномерной установки обновлений до определенного года, о чем было рассказано в предыдущей части, на сервере происходили перекосы по балансу, которые затыкались иногда просто свитками, дающими определенный бонус для оружия "угнетенного" класса. С точки зрения быстрой подгонки игры под текущие реалии оригинала с минимумом времязатрат — это работало.

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

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

Когда еще вчера был в сияющих латах, а проснулся взъерошенным котенком.

А теперь представьте, что вы тратили на это время, а иногда и Время (с большой буквы). Конечно, мы компенсировали игрокам все неудобства, прекрасно осознавая, какой это фиговый экспириенс и подрыв доверия. Тем не менее, время и настроение мы компенсировать не могли, но всегда давали что-то взамен забираемого и немного сверху.

Однако, резали мы по живому и жестко, а игроки расплачивались за наши ошибки. К этому добавился систематический накат обновлений, чтобы не просто переделывать и отбирать, а делать так, как должно было бы быть изначально. Ивент — значит ивент. Квест — значит квест, больше никакой халявы. И все вышеописанное без учета правок баланса скиллов, которые тоже были. К примеру, правка и пересчеты системы оверкаста. Оверкаст — это штраф ко времени каста заклинания, в том случае, если между соседними кастами прошло очень мало времени. Условно - штраф за зажимание кнопки и спам спеллами.

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

В какой-то момент мы даже провели голосование, подлив еще больше масла в огонь - хотят ли игроки вайпнуть сервер на 10 лет? С небольшим перевесом победило - нет, не хотим. Уровень активности в нашем дискорд-канале в ту неделю больше походил на предвыборные дебаты кандидатов в президенты, где каждая из сторон была максимально убедительна, чтобы склонить чашу колеблющихся избирателей на свою сторону. А еще, на одной из двух главных городских площадей игры проходили демонстрации, где люди круглосуточно спамили сообщениями - за вайп, или против него. А заодно и за все, что приходило в голову, вроде замены кабачковой икры на полках магазинов на баклажанную.

Админим сервер Ultima Online 14 лет — четвертая часть лонга Ultima Online, MMORPG, Ретро-игры, Видео, Вертикальное видео, Длиннопост

Раритетное фото в цвете с тех событий.

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

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

2021 год – Новые горизонты

Наконец-то полностью доделали оригинальный 3D клиент до состояния, в котором он работает так же, как и на офф. серверах. До такой степени работоспособности его не доводил никто и нигде, потому что дураков, кроме нас, очевидно не нашлось. Крови он попил до неприличия много и сожрал денег, которых хватило бы на еще один сервер (зато мы научились снимать шифрование с оригинального клиента на лету и патчить IP своего сервера - еще одна ачивка на полку бесполезных достижений). Однако, теперь наш шард поддерживал оба официальных клиента - классический (2D изометрия), и с 3D графикой аля Warcraft 3.

В теории, это должно было расширить аудиторию за счет более молодой, но т.к. в Ультиме уже давно нет никакой аудитории, расширило это только наши задницы, с учетом всех времязатрат. Кроме этого, мы написали и прикрутили кастомный AI для мобов (эффекты, абилки, визуал), потому что в оригинале это просто рядовые куклы для битья, а хотелось немного разнообразить процесс убийства, чтобы мир выглядел более живым и непредсказуемым, а мобы имели индивидуальность кроме различий по графике. "Здорово!" - скажите вы, и вы будете правы. Настолько здорово, что в этом году мы принимаем решение отключить прием пожертвований на год и поддержку игроков (т.е. на тикеты больше никто не отвечает), сообщив об этом за несколько месяцев.

Игроки, ждущие ответа на свои тикеты.

Донат был отключен потому, что с учетом всего описанного за предыдущий год, а также того, что мы продолжали делать уже в этом, деньги брать было просто стыдно. Мы просто стерли половину игры и выстроили все заново, при этом никто не спрашивал игроков, хотят ли они этого или нет. Просто так было нужно (с). Однако, мы ввели конвертацию ингейм PvP-валюты в донат валюту, так что люди по-прежнему могли получать предметы из магазина пожертвований, но уже не за деньги, а за свою активность. Поддержку отключили для того, чтобы сосредоточиться на нужной работе, потому как править старые баги смысла не имело, когда все системы переписывались практически полностью по новой.

Таким образом, мы попали в парадоксальную ситуацию - сервер становился лучше и был без двух минут в идеальном и вылизанном техническом состоянии, онлайна уже почти не было, а денег просто не было, без "почти". Все было настолько грустно, что это был первый и единственный год, в который не было страшно делать рассылки на почту по зарегистрированным у нас на форуме пользователям, с новостями сервера. Какая тут связь? Это уже очень и очень давно является внутренним мемом, и, пожалуй, единственная вещь, которая заставляет меня верить в теорию о том, что все мы живем в матрице.

Всего за все годы было около 50 рассылок, каждая из которых имеет формат - выпуск номер такой-то, и "бла-бла" нового. Так вот, не было ни одной (и это абсолютная правда) рассылки, в течении 1-3 дней после которой у нас бы что-то мажорно не ломалось, причем не обязательно сервер. Это мог быть сайт, проблемы в датацентре, неудачное обновление системы. Стоит оговориться, чтобы понимать - обычно все работает стабильно. Может пройти полгода безупречной стабильной работы, но стоит сделать рассылку - и все. Дошло до того, что мы уже стали делать рассылки отдельно от постов в наших соц. сетях или рекламы, чтобы не факапиться на всю аудиторию сразу. Админы я думаю помнят, как в 21 году сгорел один из датацентров OVH, где среди прочего была расположена VPS-ка с нашим сайтом. Так вот, простите нас за 34-й выпуск новостей.

Когда сервер снова упал после рассылки.

В порывах активности между фазами отчаяния и отчаяния побольше, ввели Discrod-бота, который подключен к шарду игры, и сообщает людям в канале о старте ивентов, убийствах в пвп, статусах и проблемах сервера. Делает он это не просто так, а отталкиваясь от ситуации, при которой произошло событие. К примеру, если вы убили кого-то кулаком или стрелой, вы получите вариации разных забавных сообщений. А если сервер падает один раз или несколько подряд — это тоже повод для фантазии. А донаты у нас сопровождаются видео с лапкой кота, в которую вставляют монетку под музыку Хава нагила. И переходя к самому главному, с точки улучшения нашей работы - мы ввели полноценный антикраш на уровне приложения. Раньше при мажорных ошибках логики сервер либо зависал (после чего мы весело разбирали дампы памяти и искали причину), либо перезагружался.

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

Под конец года мы нашли в себе остатки сил, и провели для оставшихся 2.5 игроков наш классический ивент - можно написать письмо-пожелание деду Морозу, стоящему возле елки. Все делается из игры. Дед Мороз их прочтет, и так или иначе - желания сбудутся. Мы вручную составляем список подарков, вручную подписываем каждый мешочек, собираем подарки, отталкиваясь от пожеланий (от каких-то редких красок до просто смешных безделушек) и 30 декабря так же вручную летаем по миру и раздаем эти подарки людям, поднимая настроение. Времени и нервов на это уходит неприличное количество, и каждый год я задаю себе вопрос, совсем ли мы больные если повторяем это и снова, и снова, и снова… И в этом году один из старых и оставшихся игроков пожелал, чтобы все наконец-то наладилось и устаканилось, и сервер вернул себе было величие. Это было трогательно, настолько, что у нас созрел план. Ведь хороший дед Мороз должен уметь исполнять даже сложные пожелания.

2022 год - Феникс и 100000 часов в онлайне

Год богатый на события и решения. И год, в котором мы преодолели отметку в 100К часов онлайна с учетом всех даунтаймов. Можете себе представить? Вот и мы не можем. Тем не менее, именно столько по времени наш сервер уже коптил датацентры, квартиры и балконы, а по миру нашей микро-вселенной бегали человеки и занимались своими внутриигровыми делами. А мы в этот момент занимались делами в мире реальном, в котором начались всем известные события, потому что, очевидно, просто жить - слишком скучно.

Вся наша выстроенная годами и отлаженная инфраструктура пошла ко дну фактически одним днем. Французский хостинг OVH, на котором хостился наш сайт стал для нас недоступен. А заодно проксирование DNS на американском Amazon, бэкапы на немецком Hetzner, и даже непосредственно хостер наших доменных имен Namecheap сказал нам - до свидания, у вас есть неделя, а потом вплоть до разделегирования доменов. Следом пошел GoDaddy, на котором у нас висели резервные неиспользуемые домены, система мониторинга серверов Host-tracker и вишенкой на торте стала заморозка аккаунта PayPal через который мы принимали все пожертвования от иностранцев. А то, что осталось, уже не могло принимать оплату, потому как Visa и Mastercard тоже отлетели в прекрасное прошлое. В целом, я думаю, вы понимаете, в какой ситуации мы оказались.

Вкатываемся в февраль 22-го.

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

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

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

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

Как в реальности выглядят наши хотфиксы по ту сторону экрана.

И еще одним существенными изменением было то, что мы теперь строго не придерживались официального сервера. Раз вводим многое первыми - уже в состоянии понимать, что делать. Это не означает, что мы все ломали, но теперь у нас были развязаны руки в плане расширения игры и ее механик. Не трогая ничего, что бы относилось к официальной части, но расширяли все, что с ней связано не было, вводя механики или элементы игры поверх. Так у нас получился новый-старый сервер, официально-неофициальный, перезапущенно-неперезапущенный.

Заодно, на волне всего разведенного нами хаоса, списались с с одним владельцем ретро компьютерного клуба и спросили - а можно нас поставить в ваш клуб? С нас баннер на главной, рассылка и социальные сети. Да и формат подходящий, мы самое что ни на есть ретровое-ретро. Другой вопрос, что мы — это игра только онлайн и к тому же честной судьбы пираты. Итогом нашей переписки стало то, что Inceptum стал, наверное, первым шардом UO со временем 2000-х, оказавшемся в компьютерном клубе. Это была классная ачивка и уникальная возможность, буквально "Назад в будущее", которая позволила сделать то, что делали админы шардов начала нулевых по знакомству. Таким образом, замкнув временную петлю, заново отправились в золотую эпоху как клубов, так и самой игры.

Админим сервер Ultima Online 14 лет — четвертая часть лонга Ultima Online, MMORPG, Ретро-игры, Видео, Вертикальное видео, Длиннопост

Фото нашего клиента игры из клуба, которое я попросил сделать на память.

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

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

***

Небольшая ремарка - 2023 и 2024 год идут больше по стезе размышлений и завуалированных (а иногда и не очень) ответов на вопросы из прошлой части лонга. В эти два года мы работали в обычном режиме и ставили обновления, как и всегда. Я думаю, десятка с лишним лет хватило, чтобы примерно понимать, что и как мы делали. Но написать хотелось бы не только об этом.

2023 год – Пираты всегда получают по заслугам

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

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

Админим сервер Ultima Online 14 лет — четвертая часть лонга Ultima Online, MMORPG, Ретро-игры, Видео, Вертикальное видео, Длиннопост

Одни из наших игроков, познакомившиеся на шарде.

С другой стороны, люди попадались разные. После какой-то из очередных баталий на форуме, один из наших игроков, работающий в органах, пожаловался в датацентр по поводу нарушений нами законов РФ, мол - нужно срочно принять меры, у вас хостятся известные террористы. Поддержка было напряглась, пришлось ее распрягать новостью о том, что форум хостится не у них. А один раз еле удалось отбиться, но уже от ящика коньяка из Армении - ревард за то, что держали внутренний курс WMZ (эквивалент долларов у вебмани) относительно реального так, чтобы люди могли себе позволить что-то купить во времена варп-штормов.

Конечно, было много попыток и подкупов - самая большая из тех, которая гарантированно была бы получена, это 1500$ за учетную запись гейм-мастера (учетная запись с правами ниже админа, но несравнимо выше обычного плеера), причем даже не для рисовки предметов, а для проведения ивентов. Во всяком случае, так было сказано, но проверять мы не стали. Были и угрозы со звонками на мобилку, были и довольно милые признания в любви. Из забавных случаев: как-то раз написал мужик в возрасте, в тогда еще аську, попросил дать куда перевести деньги. Пришло 15к, на дословно - "Жене нужна какая-то кирка для копки руды, я ничего не понимаю, это ей на аккаунт". Хотя никаких кирок у нас никогда не продавалось, о чем ему сообщили, но мужику было все равно. Его дама сердца в итоге просто покрасила перчатки в розовый цвет за 250р и копала в них.

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

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

Админим сервер Ultima Online 14 лет — четвертая часть лонга Ultima Online, MMORPG, Ретро-игры, Видео, Вертикальное видео, Длиннопост

UOGames в душе и на кончиках пальцев.

В общем, как вы понимаете, скучать приходилось редко и без всяких неполадок по технической части. Иногда прилетало с направлений, от которых не ждешь. У нас всегда была раздача на рутрекере (ех-торрентс ру) и по UO она была в топе среди схожих тем, с несколькими десятками страниц. В какой-то момент пришло сообщение в личку от администрации о том, что игровые раздачи от пираток теперь должны заносить деньги трекеру, потому что им нужно на что-то работать. Наш спор о том, что и нам нужно, и мы не компания и часто работаем в минус, закончился для нашей раздачи, которой было 8 лет вполне закономерной плашкой - "Торрент не зарегистрирован на трекере (Последний статус: закрыто)". Пиратский френдли-фаер.

Впрочем, иногда было тихо настолько, что совесть уже начинала грызть, мол три месяца не открывал клиент игры. Тогда включался режим "ничего не делаем, делая" и разводилась обширная бурная деятельность из разряда "никто и никогда это не заметит" по декорированию сервера. Дня три расставлять куски руды, шахтерские фонари и веревки около дыр в земле, потом натягивать паутину по углам и прятать скелеты в данжах — это особый вид аутизма. Желаю как-нибудь попробовать каждому, ваша работа снова покажется вам интересной, а в голове появятся мысли.

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

Итогом данных нововведений, как показало время, стало только наглядное доказательство того, что несколько взрослых человек с амбициями никогда не могут друг с другом договорится, а администрация оказывается принимала вполне себе взвешенные-ничего-себе-решения для всех. Как говорили синие человечки с кошачьими глазами "Великая мать не может быть на чьей-то стороне. Она сохраняет равновесие жизни."

* Продолжение читайте в заключительной части.

Показать полностью 4 4
[моё] Ultima Online MMORPG Ретро-игры Видео Вертикальное видео Длиннопост
4
13
iPek
7 месяцев назад
Уголок ретрогеймера

Ответ на пост «Админим сервер Ultima Online 14 лет — вторая часть лонга»⁠⁠1

Как я ломал 3 раза городской сервер UO...

Нахлынули вот воспоминания, чего они только в моей голове сидеть будут ;)

1) играл я в UO на городском сервере, а потом меня занесло на The Abyss(вроде так ...) играл да играл, скриптами майнил да лес рубил, и получилось у меня кому то что-то продать за реальные бабки... по интернету блеать, впервые в жизни я заработал денег... и очень понравилось это дело мне, начал искать баги что бы имущества виртуального побольше было. Для изучения поставил у себя сервер, и узнал что по дефолту там два логина админовских admin и кажется master, в общем на городском сервере пользовались только admin, и я спокойно зашел под мастером и шалил с .dupe и .kill... ну вот это и был номер раз, местному админу это не понравилось и он стёр меня со всем барахлом ...

2) По этому поводу я расстроился, и думал как наказать поганца...

Город не очень большой у нас, я узнал где живёт админ, мне повезло в его же подъезде жил знакомый, интернет технологии тогда не блестели шифрованием, в общем через этого знакомого соснифил пароль на админа и восстановил справедливость, подкрался на каком то евенте и унизил админа .kill публично

3) Тереть у меня было нечего, поэтому последствий второго взлома для меня не было никаких и я благополучно забил на городской сервер и мутил дела на The Abyss....

Но тут где то через пол года-год местные админы попросили меня на сервере контры чето настроить у них. Интернет провайдер в городе был один и так я получил доступ к игровому серверу, на котором кроме CS была и UO, так я получил права админа и пошалил на сервере в третий раз.

[моё] Ultima Online MMORPG Ретро-игры Длиннопост Взлом Мат Ответ на пост Текст
5
66
Krubster
Krubster
7 месяцев назад
Уголок ретрогеймера
Серия Админим сервер Ultima Online 14 лет

Админим сервер Ultima Online 14 лет — третья часть лонга⁠⁠

Продолжение эпоса по разработке эмулятора старой мморпг. Первые две части по ссылкам ниже, если вы пропустили.
Первая часть
Вторая часть

Админим сервер Ultima Online 14 лет — третья часть лонга Ultima Online, MMORPG, Ретро-игры, Без звука, YouTube, Видео, Длиннопост

2016 – Космические разборки и космическое выгорание

Год начался с уведомления от нашего датацентра, в котором говорилось следующее — мы были вынуждены увеличить стоимость с 10к рублей до 20к в месяц за размещение вашего оборудования (для сравнения — в бюджетных ДЦ за эти деньги можно было размещать от 15 до 20 одноюнитовых серверов в месяц). На мои вопросы в поддержку о том, с чем связано увеличение цены вдвое, через день пришел ответ с почты на другом домене, в котором уже был указано совсем другое название компании. Я тогда подумал — нужно срочно искать альтернативы, потому что платить суммарно от 250 тысяч в год очень не хочется, особенно когда начинаются очень мутные ситуации. Пока искал место, в которое мы будем мигрировать (что занимало время, поскольку нам нужна была хорошая защита) пришло еще одно письмо.

Из того, что удалось понять — сменился собственник (в реалиях нашей страны означает — начался дележ), и соответственно все оборудование ЦОД-а текущим руководством планировалось перевозить в другой, арендуя там стойки. Причем клиентов о том, хотят ли они этого, никто не спросил. Было что-то вида — грузовик приедет в полночь, и увезет ваше железо куда-то там, поздравляем, у вас будет даунтайм. На следующий день я поехал на такси через пол-Москвы забирать наше железо. И тут сюрприз! Сама площадка и все оборудование, как оказалось в последствии, находилась на территории, принадлежащей российским космических системам (дочка Роскосмоса).

Каким образом у них на территории и на их пулах адресов оказался датацентр — я думаю, объяснять не будем, все уже взрослые. Однако, когда начался движ, возник классический любовный треугольник, в котором все хотели получить как можно больше. С одной стороны Роскосмос, на мощностях которого и территории работал один из крупнейших ДЦ Москвы. Со второй — собственник, который уже давно находился за границей по причине заведенных на него уголовных дел в РФ. Ну и наконец с третьей — ребята, у которых была генеральная доверенность от собственника на весь движняк от его имени, но в какой-то момент они решили, что сами по себе. Для простых клиентов ситуация была простой — забрать свое железо нельзя, потому что никого с железом не выпускают и не впускают, а ФСБ шерстит все, что движется.

Ситуация с железом за 5 секунд. Эвакуация батутом.

Дальше был увлекательный квест, в котором я ездил в магазин и просил распечатать там хоть какие-то чеки по железу (сервер собирался из комплектующих), вылавливал мужика с доверенностью на доверенность, у которого прям в машине был принтер, на котором мне распечатали документы и поставил печать о том, что я действительно у них размещался, общение с минишишкой из РКС, который в какой-то момент сказал «слушай, ты ведь админ, вроде адекватный, давай работать к нам, а то все освободилось, мы решили делать свой датацентр, персонал нужен». Через пару дней я ехал обратно на такси с сервером на заднем сиденье, а таксист, узнав, что это такое, сказал — вкладывать надо в золото. Я вот вложил, и купил машину. Сам же шард к тому моменту уже работал на арендованном сервере в другом ЦОД-е, куда позже и уехал наш физический.

В середине года мы открыли отдельный тест-сервер с самым дорогим и самым рискованным пулом обновлений в нашей истории. Данное обновление разделило шард на эпоху до, и эпоху после, по сути, меняя всю игру. Решено было вводить новую систему крафта с официального сервера — Imbuing. И к нему-же ряд подсистем, так же касающихся вещей — Reforging и Altering. Сложность тут заключалась в том, что на тот момент 3 из 10 крупнейших серверов, которые пытались его ввести закрылись будучи не в состоянии разгрести все последствия ошибок при его введении, остальные 2 потеряли практически весь онлайн и откатили изменения, из-за того, что весь баланс был сломан, и разобраться в его работе до конца они не смогли. А все остальные так далеко никогда и не заходили, работая на аддонах несколькими годами ниже.

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

Админим сервер Ultima Online 14 лет — третья часть лонга Ultima Online, MMORPG, Ретро-игры, Без звука, YouTube, Видео, Длиннопост

Эта фраза звучала у меня в голове, когда я отгружал котлету.

Ведь все они бы касались непосредственно эквипа игроков, а это — святое. Риски были понятны заранее, но решили делать, потому что дальнейшие развитие одновременно с офф. серверами, не сделай мы этого, становилось невозможным. И выбор стоял между бросаем то, к чему шли 6 лет, или пробуем — либо умирая, либо работая дальше. На разработку только имбуинга было потрачено больше 70к рублей и несколько месяцев тестов до ввода в продакшен на лайф-сервер, и еще пару недель ежедневных рестартов с хот-фиксами уже на лайфе.

По итогу и в техническом плане мы справились отлично, хотя ошибки еще вылезали долгое время, но критических среди них не было. Таким образом, мы стали первым шардом, кто смог ввести действительно систему 1 к 1 с офа, а не подобие (к слову, к нам до сих пор так никто и не приблизился). Но, как и водится — проблемы начались сразу с нескольких сторон. Мы изначально знали, что часть игроков уйдет, и были готовы к небольшому их оттоку. Причина заключалась в том, что в СНГ люди не привыкли играть на серверах Ультимы, которые имеют регулярные обновления. Соответственно, в массе своей игроки ничего не знали о текущем состоянии игры, какой она есть на самом деле. Пока мы вводили правки медленно — у людей было время приспособиться, но и при этом каждый раз нам приходилось объяснять, почему изменения идут на пользу.

Хотя все знали, что мы ставим правки только с официальных серверов (кроме фиксов своих ошибок). Казалось бы, для того, чтобы узнать, что будет установлено у нас завтра, достаточно посмотреть патчнотсы того, что установлено у официалов сегодня. Но естественно никто этого не делал, а вводить постепенно огромное обновление мы не могли, потому что у него всего два состояния — старая система крафта и новая. Новая была существенно лучше, глубже, интереснее, и полезнее для игроков. Но люди не разобравшись говорили следующее — у нас были боты, которые делали все за нас, и мы просто получали готовые вещи, а теперь надо во что-то вникать, что-то фармить, переписывать ботов, нафиг оно нам надо, до свидания. Следующим фактором было то, что на этот год пришлось самое ожесточенное противостояние сразу нескольких крупных гильдий. И любые правки чего угодно воспринимались какой-либо из них в штыки, и как подыгрывание противоборствующей стороне. Доходило до смешного, когда за месяц после нескольких обновлений на форуме появлялись посты от каждой из них, вида: вот это-то наверняка сделано в плюс нашим врагам, они наныли, а администрация сделала! В итоге еще до ввода новой системы мы потеряли одну из крупных гильдий, и онлайн немного просел.

Далее произошла вторая волна дропа онлайна — боты, которые использовались игроками под крафт (в ультиме боты — часть игры, увы) стали бесполезны в новых реалиях и стали выгружаться, что уронило цифровой онлайн процентов на 30.

Админим сервер Ultima Online 14 лет — третья часть лонга Ultima Online, MMORPG, Ретро-игры, Без звука, YouTube, Видео, Длиннопост

Наши показатели для общественности и попытки тушить пожар на форуме выглядели ровно так.

Видя такое резкое падение онлайна за короткий срок, хотя живой оставался таким же, как и прежде, начали отваливаться люди из паникеров, а за паникерами начали отваливаться и более или менее постоянные игроки. И хотя такие ситуации были для нас не в новинку и всегда контрились, сыграла роль основная причина в виде меня самого. К этому моменту начала сказываться безумная усталость, которая как я потом узнал, называется выгоранием. Почти 6 лет я провел в режиме краба на галерах, и когда все усилия наконец-то переродились в показатели онлайна и деньги, сил уже не оставалось никаких. К этому моменту на сервер уходило от 4 до 10 часов плотной работы каждый день, без выходных (я фрилансил, и время было). И до этого момента все «мы» в рассказе следует понимать как «я».

Отлично помню, как телефон пиликал от уведомлений по донатам каждый день, и в зимний период я мог заработать 100-120к рублей в месяц (что по инфляции и курсу на сегодняшний день в районе 200к). При этом, что для меня было удивительно, радости никакой не было. Вызывало раздражение, потому что напоминало о том, что надо крабить дальше. В одном лице я был и комьюнити менеджером, и тестером, писал ТЗ для кодера, и поддержкой, и эвент-мейкером, и конкурсы проводил, и с техническими проблемами на сайте или по железу разбирался тоже я. Это только то, что приходит на ум, а надо было заниматься еще рекламой, каким-никаким продвижением и т.д. по списку. И если у нас были проблемы с онлайном — они всегда перекрывались все той же рекламой. У нас всегда была статистика за месяц, сколько людей начало, сколько неактивны, и когда линия падала, она всегда догонялась новыми игроками.

Но в этот раз, я подумал — как меня все достало, я только что потратил 70 косарей, а они СНОВА недовольны всем (это кстати отдельная тема для отельного рассказа — если зайти на любой не русскоговорящий сервер или даже взять наших иностранных игроков, они всегда говорят спасибо и поддерживают, славяне же люто ненавидят все, что движется, а если не движется, то двигают и ненавидят). Я больше ни хочу ничего объяснять, и больше не буду ничего делать для того, чтобы перекрывать просадки по онлайну, я больше не буду разжёвывать каждый тикет в саппорте и объяснять, почему у нас все работает правильно на пальцах, я больше не буду сидеть в 30 открытых чатах помогая людям разобраться с тем, о чем они могут прочесть за 5 минут в интернете, если приложат минимум своих усилий, а не моих.

Админим сервер Ultima Online 14 лет — третья часть лонга Ultima Online, MMORPG, Ретро-игры, Без звука, YouTube, Видео, Длиннопост

Мое перманентное состояние накопившиеся за годы.

Это не было ежесекундным решением, просто то, что копилось все это время, наконец-то вылилось в режим «мы помещаем детенышей в агрессивную среду реального мира» с «кормим кашей с ложки и читаем сказку на ночь».

Таким образом, собрав все три фактора в то, что называется в EVE Online «фейл-каскадом», мы входили в новый год.

2017 – Свежая кровь

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

В один из дней, в котором ничего существенного не происходило, мне написал один из наших постоянных и самых старых игроков (играющий у нас с начала 2011) и спросил — почему ничего не происходит? Давайте сделаю так, чтобы происходило! Речь шла о его предложении кодить для нас. До этого с его стороны была некоторая добровольная помощь, которая заключалась в основном в написании или редактировании FAQ-ов, а также в попытке запустить через меня сервер Майнкрафта (который так и не снискал популярность). По итогу — человек находился на хорошем счету. На вопрос, кодил ли он когда-то под наш эмулятор, был получен ответ — нет, но что тут может быть сложного-то, я делал свой сервер майнича, значит и тут смогу легко вкатиться. Находясь в режиме «с каждым днем я все дальше от бога» и понимая, что скоро денег может перестать хватать не то, что на скриптера, но и на хостинг, я согласился. Сразу оговорив со своей стороны — грядут темные времена, и денег нет и вероятно не будет в ближайшем обозримом будущем, а будет только ответственность, кранчи и ад ради ничего. Проколов палец и подписав контракт, мы начали сотрудничество.

Давая вначале легкие и простые задачи для «вкатиться», и догружая задачами средней тяжести для «почувствуй, силу Люк» под неустанным присмотром нашего постоянного штатного программиста и меня в роли тестера, со временем мы пришли к тому, что человек стал понимать специфику того, над чем и с чем работает. Во всяком случае, так казалось до того момента, пока не встал выбор — либо мы оплачиваем размещение железа, сайта и всей инфраструктуры, либо продолжаем оплачивать работу над развитием сервера в плане кода. С этого момента у нас остается только новый программист, не внесший ни одной серьезной правки самостоятельно.

Примерно так должно это было выглядеть, если бы я не пустил все на самотек.

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

В какой-то момент я опустил тентакли и смирился окончательно с неизбежностью бытия. Внутренне приняв наконец свое полное нежелание разруливать ситуацию и тотальное выгорание вкупе с виной за него, я прекратил тестировать обновления перед вводом на лайф сервер. Теперь и этим занимался наш новый кодер. Занимался он этим потому, что пришло понимание: если не сейчас — то никогда, и пора учиться делегировать полномочия.

А так это выглядело на самом деле.

С этого момента дозированными порциями и через фильтр «шит-контроля» решения начал принимать не только я один. Человек получил полный доступ ко всей кодовой базе и всем нашим наработкам за 7 лет, а также полную учетку в игре с максимальным уровнем доступа «Owner». Помимо этого, были выданы права администратора на нашем сайте, соц. сетях, дискорде и т.д., в общем — у нас появился второй полноценный администратор, впервые за все время.

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

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

2018 – Inceptum значит бессмертие

В первые месяцы, пройдя через очередной миллиард ошибок и растеряв следующую часть игроков, скрипя всеми колесами, мы переводим клиент и сервер-сайд игры на последнее обновление официальных серверов — Endless Journey. Делаем это первыми в уже теперь ех-СНГ и третьими в мире, но опять же — первыми из старых серверов. Теперь можно сказать, что номинально за 8 лет разработки мы догнали официальный сервер, которому было к тому моменту больше 20 лет. Номинально потому, что часть обновления еще не была на должном уровне готова, однако аналогов и этому ни у кого не было.

Весной произошло два события. По классике — одно хорошее, одно не очень. Первое заключалось в том, что кодер наконец-то начал нащупывать почву под ногами, и сервер стал худо-бедно походить на себя в былые годы, в плане стабильности. Скилл рос как на дрожжах, и его хватило даже на ввод уникальной относительно конкурентов и сложной системы мультилогина. Смысл его работы заключался в том, чтобы человек при логине в игру мог выбирать несколько серверов из списка, как во всех современных играх. Таким образом, для примера, стало возможно отображать и мейн сервер и тест-сервер на одном окне логина в списке доступных шардов. До нас эта система в полноценном виде была реализована только у официалов.

Второе состояло в том, что сервер уже перешел на оплату хостинга за мой счет, потому что денег перестало хватать, что было вполне закономерной реакцией людей на тот бардак, что царил у нас последнее время. И хотя и я, и скриптер работали бесплатно, расходы все равно были выше. Тут надо пояснить, что сервер работал в минус и первые полтора года своего существования, и не редко — несколько месяцев в каждом году и в дальнейшем. Но тут я решил окончательно (опять же благодаря своему выгоранию), что, если Inceptum хочет жить — он должен самоокупаться любыми способами, но работать хоть на рубль, но в плюс и без участия моего кармана.

Первое, что было сделано — сокращены расходы на все лишнее, часть инфраструктуры переехала обратно в Россию, а все необязательные веб-сервисы переехали с выделенных VDS на одну. Второй волной был пересмотрен весь магазин пожертвований — исходя из покупательского спроса были скорректированы расценки на то, что в нем находилось. И наконец последнее, что было сделано — наше физическое железо было вывезено из датацентра. Как сейчас помню, это было в лютый летний дождь, когда затопило пол-Москвы, и я под дождем пол часа ждал такси из Химок, надеясь на то, что парни в ДЦ, любезно предложившие запаковать все в пупырку, чтобы не залило водой, сделали это на совесть. Пока я смотрел в окно машины на потоки воды, доходившие до порогов, в голове созрел план.

Админим сервер Ultima Online 14 лет — третья часть лонга Ultima Online, MMORPG, Ретро-игры, Без звука, YouTube, Видео, Длиннопост

Мое лицо в отражении окна того такси, везущего меня через затопленную Москву.

За неделю я продал сервер на авито, обеспечив нам небольшой задел по деньгам на несколько месяцев. После чего я откопал свой аккаунт на серч энгайнс, и в разделе хостингов создал тему, содержание которой можно свести к следующему: Мы делаем рассылки по нашей базе пользователей раз в пару месяцев на примерно 10 тысяч человек, у нас есть сайт с посещаемостью в день такой-то, есть игра, есть соц. сети и группы в мессенджерах, работаем много лет. Мы размещаем везде вашу рекламу включая ингейм, и в рассылки вставляем блок, который вы отправите, взамен нам нужно железо бесплатно, с конфигом не ниже указанного, на длительный срок.

Честно говоря, надежд у меня было совсем мало, однако сразу откликнулось два человека. Первый был от совсем маленького хостера, второй был от крупного хостера. Пребывая в режиме «я не очень умный» и решив, что с мелкими ребятами будет проще по-свойски решать вопросы, я выбрал первых. Через два неполных месяца наше сотрудничество прекратилось, потому что в какой-то момент мне написал их менеджер, и сказал — сорян, но у вас три дня, потом сервер мы освобождаем. Удалив всю их рекламу у нас и подумав, какие же это чудесные люди, я написал вторым, с вопросом, актуально ли еще их предложение, потому что мы кажется обделались с выбором. Мне ответил их директор, тогда еще сидевший под своей учеткой сам. Это был максимально странный экспириенс с моей стороны, воспринимающийся как параллельная ветка вселенной. Я разговаривал с человеком, который летел в самолете на переговоры в другую страну, на блог компании которого я был подписан на хабре, и обсуждал с ним игру, которой был 21 год.

Админим сервер Ultima Online 14 лет — третья часть лонга Ultima Online, MMORPG, Ретро-игры, Без звука, YouTube, Видео, Длиннопост

Начало разговора с моей стороны, ретроспектива.

Честно описав ему ту бездну, на которую они подписываются и ее перспективы, я получил на выбор ряд серверов. Предложения были от — на год мы можем дать вот это, или на сколько хотите — вот это. Поскольку на год нам предложили сервер способный взломать пентагон, обсчитывая прогноз погоды на пятое тысячелетие, я выбрал наиболее подходящий вариант «на насовсем». У меня было полное ощущение, что все показатели и расклады, которые я ему давал, ему совершенно не важны и не интересны, тем не менее, с вежливостью они все были выслушаны. Я понял, что основное это «я просто так хочу» а не «мне от вас надо это и это».

Забегая вперед, скажу, что мы уже 5 лет как размещены у них же бесплатно, и никогда никто с нас не требовал никаких отчетов ни по одной рассылке или рекламе с нашей стороны. За это время нам несколько раз меняли конфигурацию железа (она всегда оставалась в рамках наших запросов) перенося с ноды на ноду, несколько раз писала поддержка — объясните, как вы у нас размещаетесь бесплатно, и несколько раз писал я, когда у нас были технически проблемы, которые всегда устранялись оперативно. Поэтому даже если завтра нас отключат без всяких предупреждений — я безмерно благодарен за это время и возможность, потому что во многом это позволяло нам работать следующие годы. Если кому-то будет интересно, и кто-то до сюда дочитает — логотип хостера у нас на главной сайта.

А к концу года был установлен рекорд по количеству патчнотсов за год, который удерживается до сих пор. Почти дойдя до цифры в 500 пунктов. Если отбросить цифры и сконвертировать в более понятные величины — несколько тысяч изменений на сервер-сайде. Наш второй администратор и по совместительству новый кодер в свой первый полноценный год прибывал в том же режиме и состоянии, что и я в свой первый — интересно, новый опыт, новые вызовы, надежда на лучшее еще не мертва, жизненная энергия еще вращает маховик ответственности. И за всю эту продуктивность и год, который стоил трех, он получил немного денег, и новые комплектующие с недорогой периферией к ноутбуку, чтобы программировать было комфортнее. А комфортнее — значит больше. Учитывая количество потраченного на сервер времени и нервов с его стороны за этот период, это было грустная и злая ирония. Тем не менее, сумев разобраться со всеми самыми критичными организационными вопросами мы продолжали наш путь в будущее.

2019 – Прыжок в неизвестность

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

Админим сервер Ultima Online 14 лет — третья часть лонга Ultima Online, MMORPG, Ретро-игры, Без звука, YouTube, Видео, Длиннопост

Когда пытаешься объяснить игрокам все несостыковки и выстроить логически понятную цепочку обновлений.

Всю эту мешанину мы пытались свести к чему-то одному. К примеру, лучники могли работать с абилками 2016 года, а воины с абилками 2018. И хотя разница в формулах была невелика, система зависела от активности и добросовестности игроков — сдавать выгодные ошибки никто не хочет, но каждый хочет занерфить соседа. К этому году бесконечный поток сообщений вида «это работает не так, как на офе, вот ссылки и видео» иссяк. И впервые за все время мы начали переносить обновления по мере их выхода, сократив отставание от серверов разработчиков игры до нескольких месяцев, и придя к понятной линейной структуре апдейтов.

В этом же году первыми из крупных серверов, и первым — на последних обновлениях, поддержали разработчиков альтернативного клиента игры, и первыми среди всех серверов, что им пользовались, сделали рассылку с рекламой клиента по нашей базе. Забегая вперед, можно сказать, что по состоянию на конец 2023 на нем сейчас играет довольно много наших пользователей. Тут можно просто вставить цитату с форума:


«Не любите 3D клиент? Любите 2D, но слишком топорно, угловато и дергано? Кажется, у нас есть пилюля для вас — «2D» на стероидах, плавно, резво, красиво. Начнем издалека.

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

С запуском на нашем сервере, на тот момент, было множество проблем, ибо мы всегда на острие апдейтов.

Последние офф. клиенты только-только вышли, а мы уже были переведены на них, в то время как с дремучих времен ничего не меняется, и большая часть серверов в СНГ как сидело на 2-4 версиях клиентов, так и сидит. Вполне ожидаемо, пилится все в первую очередь под них. В итоге, дай бог и с граблями все доходило до запуска игры по факту, но черного экрана по итогу, о чем я и указал, и через какое-то время вообще забыл об этом разговоре, как и о клиенте.

Вспомнил я о нем, когда в начале сентября от разработчика пришло сообщение о том, что теперь на последних версиях — играбельно, и проблем особых у нас быть не должно. Я обещал посмотреть в течении недели, в итоге, как это обычно со мной и бывает, дополз до теста через 3, и вот теперь пишу эту новость».

После чего была проведена большая работа, по итогам которой гордимся тем, что сейчас сервера использующие данный альтернативный клиент и последние аддоны игры идут про проторенной усердием разработчиков, и во многом — нашими баг-репортами, дороге.

Однако, на этом все хорошие новости за этот год заканчиваются. И хотя с точки зрения обновлений мы работали как обычно (несколько сотен пунктов + паблиши целиком), но действительно монументального и интересного ничего не делали, сосредоточившись на сокращении остывания от официалов. Учитывая то, что рекламу мы так больше и не давали, а у старых игроков накопилась усталость, мы вполне закономерно пришли к каскадной убыли онлайна с относительно небольших потерь в начале. Устали игроки, устали мы, нового притока нет. И мы решили — раз уж все и так хуже некуда, надо сделать прыжок в пропасть — сделать все правки, духу на которые раньше не хватало. И исправить все ошибки, которые мы допускали за все эти годы, так, как если бы сразу со старта у нас был наш опыт в почти десять лет. Ведь когда есть онлайн — непопулярные решения чреваты его потерей. А когда ты уже его теряешь — какая к черту разница? И мы приступили к делу.

* Продолжение, как обычно, в следующей части.

Показать полностью 6 3
Ultima Online MMORPG Ретро-игры Без звука YouTube Видео Длиннопост
16
78
Krubster
Krubster
7 месяцев назад
Уголок ретрогеймера
Серия Админим сервер Ultima Online 14 лет

Админим сервер Ultima Online 14 лет — вторая часть лонга⁠⁠1

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

Админим сервер Ultima Online 14 лет — вторая часть лонга Ultima Online, MMORPG, Ретро-игры, Видео, Без звука, YouTube, Длиннопост

2013 год – Карты, деньги, два программиста

По темпам и объему проделанных работ, этот год опередил оба предыдущих. Было введено дополнение «Stygian Abyss» и начата работа над аддоном «High Seas» (которого, к тому моменту, не было нигде, кроме официальных серверов). Количество установленных апдейтов было выше, чем за оба первых года, вместе взятых.

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

Админим сервер Ultima Online 14 лет — вторая часть лонга Ultima Online, MMORPG, Ретро-игры, Видео, Без звука, YouTube, Длиннопост

Так я бегал от агрессивных мобов днями напролет. Классический паровозик.

Где-то после недели каждодневных многочасовых забегов был создан пул видео, который использовался для заселения у нас на шарде. И если это кажется легким — то нет. На это ушло еще около недели от 5 часов в день. Сложность заключалась в том, чтобы правильно настраивать и выставлять спавны — площадь респавна так, чтобы мобы не вылезали за свои ареалы обитания, правильно подбирать мобов и их количество исходя из видео. Правильно определять, насколько они могут уйти от места возрождения и могут ли вообще, будут ли они реагировать группой на угрозу одному из них, или же нет. Как часто они будут появляться после своего убийства, и будет-ли вариативность мобов на спавне, когда каждый спавн выдает немного разные виды существ, миксуя их.

В дополнение к FAQ, о котором уже шла речь, для более комфортного вхождения в игру новых игроков, не знакомых с миром Ультимы, были отсняты видеоролики, показывающие все аспекты игры и обучающие базовым вещам. На момент публикации этого лонга, количество их просмотров находится примерно на уровне 45 тысяч. Попутно с публикацией роликов мы закрыли старую версию форума, по причине того, что она уже плохо справлялась с возросшей нагрузкой — эта часть сайта еще на момент 2010 года была архаизмом, и с ростом количества информации и размера баз данных все начало существенно тормозить. Конвертировав базы данных, нам удалось сменить движок форума без потери данных и зарегистрированных пользователей (никаких готовых скриптов для этого тогда не было).

Тут же надо добавить, что это был первый год, когда над дизайном портала работал отдельно нанятый дизайнер и верстальщик — это было достижением, потому что до сего момента я занимался всем сам, ибо лишних денег не было. Человек так же был из наших пользователей и работал дизайнером упаковок товаров массового потребления. Еще немного спустя я заказал разработку новой системы мониторинга, отображающую количество онлайна игры на сайте, и главное, она легко масштабировалась под любое количество серверов и работала с любыми играми (а на тот момент у нас уже появился сервер CS) . Помню, как сейчас, за это было отдано 100 долларов.

А мониторинг у нас появился потому, что онлайн начал переваливать за отметку в 150 человек, и потихоньку начали появляться иностранные игроки. Смешные цифры, казалось бы, но не для Ultima Online. И вместе с появлением мониторинга, появились и проблемы. Все больше стало заметно, что наш штатный найденный кодер воюет не в ту сторону временами, и проблем с качеством обновлений стало как-то подозрительно много. Я списывал это на то, что пока мы ставили те системы, которые у него уже были написаны и протестированы на его сервере — все было плюс-минус гладко. Когда нужно было писать самому, времени на отладку ему давалось мало, и возникали проблемы на лайв-сервере. Тон общения из более или менее дружеского, каким-то непонятным для меня образом, скатился в холодный и деловой. В чем было дело, я догадался случайно, когда во время разговора он упомянул, что знает парня, который сообщил об одной из ошибок под наше следующее обновление. Внезапно произошло озарение и до меня в полной мере дошло — а ведь человек держит и СВОЙ сервер.

Админим сервер Ultima Online 14 лет — вторая часть лонга Ultima Online, MMORPG, Ретро-игры, Видео, Без звука, YouTube, Длиннопост

Я в тот момент.

Поспрашивав по игрокам, оказалось, что очень много людей стали мигрировать от него к нам, и за последние пару месяцев у нас оказалась чуть ли не половина его шарда. Речь конечно и в конечном итоге, шла о потере денег с его стороны, но ситуация, как оказалось, была несколько пикантнее. Как выяснилось позже, наш кодер на своем сервере не брезговал «рисовать» предметы за деньги богатым буратинам, и суммы там были весьма приличные. Были они приличные потому, что 40-летние бизнесмены жаждали убивать нищих школьников не на скилле, а деньгами, а админ сервера не скупился на прайс за свои услуги.

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

Начались поиски нового человека, способного писать код, и знакомого с используемым нами эмулятором. Опять же через игроков я вышел на человека, работающего над относительно известным, но ныне уже закрытым сервером Ультимы. Благодаря ему мы худо-бедно отработали оставшиеся два месяца в этом году, однако замена ему начала подбираться с первого же дня знакомства. Человек был игроманом, причем в терминальной стадии. Увлечением его был только покер, и ничего кроме.

Админим сервер Ultima Online 14 лет — вторая часть лонга Ultima Online, MMORPG, Ретро-игры, Видео, Без звука, YouTube, Длиннопост

Добавить к этому нечего, к сожалению.

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

Год мы закончили с тем, что взяли красивую цифру в 20 тысяч учетных записей, и заодно, почувствовав весь груз ответственности переработали подход к резервированию и бэкапам. Теперь у нас был рейд-массив с двойным резервированием, бэкапы на два удаленных сервера, и хранилище копий и сборок на отдельном носителе вне сети. Вдобавок к этому — перенесли всю кодовую базу в систему контроля версий Subversion. Казалось — мы уже совсем взрослые и работаем серьезно, но начало следующего года показало, что в плане сетевой инфраструктуры нам еще очень далеко до серьезных проектов.

2014 год – Империя наносит ответный удар

В начале года наш коннект до сервера сказал — пуф, все! Плохо понимая, в чем проблема, я посмотрел загрузку канала, и понял, что его больше нет с нами. Все резервные бэкапы шли на вдс-ку в датацентре, но сам сервер физически все еще располагался просто в квартире, пусть и обложенный бесперебойниками и резервным каналом от другого провайдера. Это позволяло в обычные дни держать аптайм за 99.8% в год, но обычные дни закончились. Стало понятно, что идет DDoS.

По ту сторону экрана тем летним днем.

И раньше временами возникали атаки, но это было школьные досы с условно двух машин, которые легко рубились либо провайдером, либо настройками на стороне сервера, поэтому серьезных проблем они никогда не доставляли. Посмотрев еще раз на грустную загрузку канала в потолок, я на всякий случай позвонил провайдеру, который не менее грустно заявил, что айпишник придется блэкхолить, иначе у них ляжет железка, работающая на пол района. Что делать на тот момент понимал мало, поэтому связался с одним из наших постоянных игроков-айтишников имеющего много регалий, который по совместительству преподавал информатику в одном из ведущих институтов Самары, а также был одним из разработчиков ныне канувшего в лету дистрибутива фряхи FrenzyBSD (его имя есть и в Википедии). Поговорив с ним по телефону, и поняв, с чем я столкнулся, а также выслушав советы, стал понятен план действий. И в этом же разговоре был забавный момент, который остался в памяти — я рассказывал, как и что у меня настроено и работает, после чего состоялся примерно следующий диалог:

- А точно это работает так и так?

Я говорю — точно.

- А ну-ка сделай так и так.

Я делаю.

- Но ведь так не может работать, как ты это сделал?

- Я не знаю.

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

На неделю мы приткнулись к первым ребятам, нас оттуда попросили из-за высокой нагрузки, и мы нашли вторых. Миниатюрная девушка из Питера, работница одного крупного ДЦ, разместила у себя на балконе несколько стоек забитых списанным железом с работы, закидав это шумоизоляцией и кондеями, провела два оптоволокна оттуда же, и продавала услуги хостинга и защиты через интернет. Мы переехали к ней на балкон. Еще неделю мы были с ней на постоянной связи, она же пребывала в режиме мемной горящий собаки, которая говорила, что все нормально. Однако наша история закончилась на том, что железка, которая фильтрует атаки скоро выйдет с балкона, и канал на 10 гигабит у нее из-за нас забит полностью, что создает проблемы для других клиентов. У нас же при этом были постоянные проблемы с подключением, и, по сути, сервер больше не работал, чем работал. Закончились наши взаимоотношения тем, что в какой-то момент без предупреждения она отключила нас. Хорошо, что у нас были бэкапы.

И хотя часть людей донатила прямо в оффлайн, поддерживая нас и говоря — мне вообще ничего не надо, но вот вам на решение проблем, денег осталось совсем мало. Ровно на попробовать еще один заход и найти спасение. Спасением стал окончательный переход во взрослую жизнь — потратив все и добавив из своего кармана мы купили свой первый стоечный сервер, и отвезли его в один из немногих на тот момент Tier 3 датацентров Москвы, который предоставлял защиту от атак.

Админим сервер Ultima Online 14 лет — вторая часть лонга Ultima Online, MMORPG, Ретро-игры, Видео, Без звука, YouTube, Длиннопост

Тот самый сервер с наклейкой колакейшена из того самого датацентра. А еще лицензионной наклейкой винды, которая была куплена на авито с рук у мутного типа. Сценка была один в один как закуп в радиомагазине из «Иван Васильевич меняет профессию».

Платили мы там порядка 10к рублей в месяц, но зато после нескольких недель очень нестабильной работы все наконец-то нормализовалось. Как позже сказали в ДЦ, на пиках нам прилетало более 15 гигабит в секунду UDP-флуда с десятков тысяч адресов, помимо еще отдельных атак на порт сервера. По состоянию на 10 лет назад — это было весьма прилично.

Одновременно с этим, смахивая пот со лба, шел поиск нормального кодера в команду. И снова один из игроков посоветовал обратиться к «хорошему парню» и поговорить. У него так же был свой сервер в настоящем и несколько в прошлом. Я грустно вздохнул после череды грабель, но делать было нечего, и я списался с ним. Разговор буквально начался так:

- Привет, мне дали твою аську. А еще я создал домен твоего сервера, но в. ru, и часть твоего трафика идет ко мне. В качестве знакомства, давай я поставлю переадресацию на тебя?

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

Сразу стало понятно, что нас ждет долгая мужская дружба, которая к слову, продолжается до сих пор.

Посмотрев наш код, он спросил следующее — а откуда у тебя эти куски? Я говорю — вот, работал с парнем. А ты знаешь, сколько людей он кинул? И что эти куски кода — тоже украдены? В общем, история прояснилась окончательно. По мимо рисовок на сервере у себя, наш прошлый парень так же разводил админов, получая доступ к кодовой базе, и продавал оттуда все, что можно продать. Бонусом — его ищут несколько людей у себя в городе, потому что их развели на деньги. Из плюсов этой истории — к нам перекочевала часть кода с сервера человека-легенды в комьюнити, который в соло в свое время сделал больше, чем все комьюнити всех эмуляторов на тот момент, насчитывающее несколько десятков тысяч человек, но чей сервер к моменту нашего старта уже был закрыт.

Минусом стало то, что, прошерстив по нашим пользователям и знакомым-знакомых, стало понятно, что атаки, которые к слову еще шли на тот момент, были организованы им, в отместку за упавший онлайн у него и то, что развести нас не успели. После чего произошла интересная ситуация, которая в итоге привела к закрытию все еще работающего сервера этого человека. Как-то, когда меня спрашивали, кто и за что нас досит, я сказал, что по тому, что удалось узнать, ситуация выглядит «вот так и так». Буквально вечером того же дня у парня упал сайт и сервер, еще через три дня он написал мне, и попросил прекратить досить его, а он «поможет с тем, чтобы атаки на нас закончились». На этом кровавые разборки вест и ист сайда прекратились, но мы выжили, а он нет.

Ну вы поняли.

Наконец-то настало затишье. Я с большим удовольствием тратил все наши деньги на нового кодера, а он с большим удовольствием вносил нововведения и правки. Отличительной особенностью стало то, что в коем-то веке, все, что попадало на сервер действительно тестировалось, и проблем на лайф-сервере было совсем мало. Плюс были приняты некоторые решения, из разряда «честных» — об удалении неактивных персонажей, с геймтаймом менее 15 минут, либо без заходов в игру в течении 3х месяцев (если геймтайм был больше). Это позволило держать цифры реальными, и не отображать фиктивную информацию, которая так активно «набивалась» у многих конкурентов. Введено ограничение на количество одновременно запущенных окон с одного IP, что также значительно повлияло на «фиктивность» онлайна в лучшую сторону. Минусом стало то, что после чистки одноразовых учеток, наши псевдо 20к учетных записей превратились в настоящие 10к.

Плюс к этому, мы ввели поддержку 3D клиента игры, на что ушло достаточно много времени. Не обошлось и без проблем, первую неделю сервер работал достаточно нестабильно, из-за закравшейся ошибки, связанной с обработкой подключений через этот клиент. Забегая вперед, скажу, что за годы его поддержка и работоспособность была доведена до состояния, которое не имеет аналогов ни на одном действующем или когда-либо работающем сервере, кроме непосредственно официального. Ортодоксальный подход — это игра на классическом 2D который и проповедуют все, но мы решили, что должен быть выбор.

Ну а год мы закончили на высокой ноте — зимой было проведено первое в истории российско-украинского (а может и в мире) комьюнити Ультимы Онлайн слияние двух крупных шардов от разных админов с разной аудиторией, с переносом и сохранением персонажей, игрового прогресса и имущества. Второй сервер принадлежал нашему новому кодеру, у которого на тот момент не было уже ни сил, ни времени поддерживать крупный и работающий сервер на плаву, и на должном уровне. Слиянию предшествовала долгая подготовка и переговоры на уровне администраций проектов, ведь все должно было пройти максимально гладко, как для переносимых игроков, так и для коренных жителей сервера. Была проделана очень большая работа, занявшая около месяца, учтены особенности и различия обеих площадок. Так, шард Heaven's Gate (loveuo) стал частью Inceptum.

2015 – Через тернии в «грин зону»

В середине января, спустя примерно месяц после объединения, фиксируется максимальный за все время среди всех российских и украинских серверов ненакрученный (рисованный) онлайн. Знаю я это потому, что за годы много раз беседовал с настоящими и бывшими админами, и прекрасно знаю, что реальный живой онлайн с тем, который указан на сайтах не имеет вообще ничего общего. Поэтому настоящий онлайн на многих серверах мне был известен из первых рук. Тем временем, счетчик онлайна более получаса держится на отметке в пол тысячи, часть сторонних сервисов по проверке онлайна фиксирует у себя результат в 516. Живой онлайн в это время показывает порядка 120 человек с оригинальными ip-адресами. Сервер держится в топ 3 мира среди всех остальных площадок ультимы.

С онлайном пришли и ошибки. Маунты превращающиеся в доски для крафта, дельфины, плавающие по суше, удаление всех вещей из банка персонажа, перчатки стирающие чара, турниры, превращающиеся из 1 на 1 в FFA из-за багов, смерти в сейф-зонах.

Админим сервер Ultima Online 14 лет — вторая часть лонга Ultima Online, MMORPG, Ретро-игры, Видео, Без звука, YouTube, Длиннопост

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

Но все это были ошибки с нашей стороны, которые как правило, появлялись сразу после крупных обновлений и устранялись в тот же день. А еще были ошибки, которые намеренно искали наши пользователи, и которые были весьма интересными в реализации и сложными для понимания и отслеживания с нашей стороны. Тут надо пояснить, что понять, как работает ошибка, и исправить ошибку — это разные вещи. Исправить баг можно даже без понимания того, откуда, как и почему он появился. Иногда без понимания — через костыли. И все будет работать нормально. Но я всегда был против такого подхода, и мы всегда разбирались, как, что и почему у нас происходило. Иногда на это уходили недели.

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

Лишь спустя продолжительное время в попытках отловить баг, ситуация прояснилась — данный моб с небольшим шансом умел псевдо-закапываться в землю. Делалось это через исчезновение моба, и его новый спавн в нужной точке. Но однажды совпало так, что игрок успел повесить дот яда на моба, и тот исчез, «закопавшись». Однако таймер яда никуда не исчез, и продолжал свой отсчет, итогом которого стала попытка убийства жука, которого к тому моменту уже не существовало. Еще случай — мы нашли игрока, который бегал по т.н. «грин зоне» области карты, которая является тестовой, игроки к ней доступа не имеют (обычно можно найти много всего интересного или сильно нажиться в зависимости от того, что там тестируют и размещают админы конкретных шардов). Однако наш — вполне себе имел. Дело было вот в чем — перед данным участком карты, по краям с одной из сторон, шел густой лес из деревьев, которые непроходимы для персонажей. Однако в игре есть заклинание телепортации, которое позволяет чару прыгать на небольшие расстояния в свободную зону, на которой он может поместиться.

Так вот, из-за допущенных разработчиками клиента игры ошибок, именно на том клочке леса и на очень редких деревьях можно было пролететь через просветы между деревьями с помощью телепортов и вставать на клетки, стоя чуть выше основания ствола. Спустя множество попыток, человек определил путь, финальным скачком по которому был прыжок за границы доступной простому игроку карты. Надо сказать, что до сих пор на 95% работающих серверов этот путь не закрыт. А у нас в его конце лежит книга, нажав на которую открывается браузер с этим видео

Только вместо контейнеров — елки.

А еще в какой-то момент, у нас сработал один из триггеров системы безопасности (вы помните про логи, да?) — в мире появился предмет, который продается ингейм со специальных камней-магазинов. Но проблема заключалась в том, что куплен он не был, тем не менее, он точно был с такого камня. Разобравшись в логах, мы нашли персонажа, которому эту удалось. Однако понять каким образом это было сделано мы до сих пор не могли, а человек был не дурак, и не спешил повторять свои подвиги. В итоге телепортировав его в тюрьму, и появившись перед ним, я начал грозно вопрошать — жизнь или бан? Человек, ничего не понимая ответил по-испански.

В конечном счете с помощью общения в скайпе и гугл-транслита, оказалось, что схема была следующей — человек предположил, что для данного камня было некое админ-меню, ведь как-то мы добавляем туда товары. Дальше он предположил, что, возможно перебрав все ID кнопок, которые гипотетически могли бы быть задействованы в меню и прожав на это айди мимо клиента игры (ведь физически оно не отображалось), ему удастся добиться какого-то эффекта в плане взаимодействия с камнем на уровне выше плеерского. Так вот, в чем заключалась ошибка — если меню было вызвано администратором, оно отображало кнопку для управления товарами ингейм. Если же меню было вызвано плеером, кнопки оно не отображало, но технически меню оставалось все тем же. Так вот, проверка на уровень прав у нас использовалась только на моменте отображения кнопки, но не на ее фактическое нажатие. И это было единственное такое меню, где мы похоже когда-то забыли добавить многоуровневую проверку, а испанец, судя по всему, перетыкал хитрым скриптом уже с сотню окошек, пока не дошел до момента, при котором его подход наконец-то сработал. Как вы, наверное, уже догадались — скриптом путем перебора айди кнопок, он прожал на отсутствующую для него кнопку управления данным типом вендоров, и открыл админ-панель, с которой легко мог взаимодействовать, ведь проверки именно на это не было.

Кроме онлайна, разумеется, пришли и лишние деньги. И, как и всегда — они шли в дело. Впервые полностью, а не кусками, были обновлены сайт и форум портала с полной сменой CMS (веб-движок портала и сайта) и версий всего на свете, от PHP до MySQL. Все было сделано с нуля, базы и аккаунты были конвертированы и перенесены. На этом моменте всё легаси, что у нас имелось, было снесено и заменено новыми современными решениями, по причине того, что количество костылей, заставляющих наши старые движки работать и взаимодействовать друг с другом уже превышало все немыслимые значения. Шаред хостинг был заменен выделенным железом. Плюс к этому был заказан и полностью переработан дизайн и цветовая гамма сайта, а протокол сменился на защищенный — появился «зеленый» замочек https. И надо сказать, работало все это очень хреново и медленно по сравнению с тем, что настраивалось и оптимизировалось на протяжении всех этих лет.

Люди спрашивали — как можно было сделать настолько плохо, что новый форум работает раз в 10 медленнее старого. Грустно осознавая, что все наши труды на которые был потрачен вагон денег и нервов, идут ко дну в потоке негативных отзывов о работе сайта, я вышел на одного очень известного человека в\на Украине, работающего на очень хорошей должности в айти, обладавшим всеми возможными мировыми сертификатами всех возможных уровней от всех возможных вендоров (и они у него действительно были). Запросив достаточно крупную сумму денег, он сказал — это все для детей, я сделал бы это за 5 минут еще в 80-х. После чего на протяжении часа рассказывал мне, насколько он хорош, и насколько нам повезло, что уделяет свой час за такую смешную сумму, и насколько глупо вообще обращаться с такими пустяками к таким мастодонтам как он. Следующие пол часа я слушал, над насколько серьезными проектами он работал, и какие серьезные задачи он решал у очень серьезных людей. Я честно терпел, хотя к тому моменту от количества высокомерия и несущественности разговора относительно конкретно моей проблемы уже начал потихоньку выходить из себя.

Админим сервер Ultima Online 14 лет — вторая часть лонга Ultima Online, MMORPG, Ретро-игры, Видео, Без звука, YouTube, Длиннопост

Категория «Мемы за 300» описывающая ситуацию.

В общем, как, наверное, вы уже поняли — по итогу он не сделал ничего, хотя пытался. Сказав что-то вроде — у вас ребята проблемы с производительностью железа, он пропал в тумане истории с моими деньгами и шлейфом пафоса. История же закончилась тем, что, взяв себя в руки, и открыв гугл, за несколько дней я самостоятельно решил все проблемы, оптимизировав наш centOS с сайтом до состояния, при котором все стало работать по скорости так же, как и некогда легаси-костыли.

И наконец, под конец года, понимая, что с резко возросшей нагрузкой глупо класть все яйца в одну корзину мы постарались добиться максимальной «распределенности» инфраструктуры проекта. Нужно было исключить узкие места, с которыми время от времени возникали проблемы, выбирая лучшие из доступных решений. До этого года мы размещались только в России. А зимой уже были «разбросаны» по России, США и Франции. В каждой из этих стран находится хотя бы одна часть, отвечающая за работоспособность проекта в целом — сервер, виртуальные машины, бэкапы, DNS-резолверы и иже с ним.

* Продолжение следует в третьей части.

Показать полностью 6 4
[моё] Ultima Online MMORPG Ретро-игры Видео Без звука YouTube Длиннопост
4
180
Krubster
Krubster
7 месяцев назад
Уголок ретрогеймера
Серия Админим сервер Ultima Online 14 лет

Админим сервер Ultima Online 14 лет - первая часть лонга⁠⁠

Все это время я являюсь бессменным администратором сервера «Inceptum», работающего по сей день.

Админим сервер Ultima Online 14 лет - первая часть лонга Ultima Online, MMORPG, Ретро-игры, Видео, Длиннопост

Данный текст — попытка охватить за раз все эти годы, поэтому тут будет всё, что я счел важным за это время. От и до. Возможно, некоторые моменты вам могут показаться малоинтересными или несущественными, но лично для меня — все они важны, потому, что именно так оно отложилось в голове.

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

Лонг будет разделен на две части. В первую войдут 9 лет, во вторую — 4 года и эпилог, где я соберу интересные моменты, мысли, и в целом отвечу на вопросы, если они у кого-то будут после прочтения первой части.

Пролог

Очень краткая сводка своими словами для тех, кто не знает (если таковые есть), что это за игра.

Вышла она в конце 1997 года, является онлайн-продолжением легендарной серии, первая игра из которой вышла в 1981 году. Игра представляет собой 2D или 2,5D (в зависимости от клиента) изометрическую MMORPG-песочницу с видом сверху и имеет сеттинг средневековой Англии с магами и драконами. Отличилась, прежде всего, своей свободой действий (по нынешний день еще, пожалуй, нет ни одной мморпг, которая могла бы переплюнуть UO на этом поприще), и, можно сказать, задала тренд для всех мморпг в будущем. В игре не существует понятия уровня персонажа, вместо этого игроку предоставляется возможность прокачивать любой набор навыков на свой выбор, открывая большие возможности для создания разнообразных сборок.

Админим сервер Ultima Online 14 лет - первая часть лонга Ultima Online, MMORPG, Ретро-игры, Видео, Длиннопост

То самое легендарное убийство Лорда Бритиша, и по совместительству персонажа Ричарда Гэрриота, отца-основателя серии. Скриншот довольно баянистый, но ничего лучше с тех пор не придумали (с).

По состоянию на 2023 год 90% современных мморпг не дотягивают по возможностям до Ультимы. Технически — обновляется и сейчас (хотя и довольно вяло – спустя несколько смен разработчиков), имеет 1 живой официальный сервер из 20 с лишним. По моему убеждению, она наравне с EverQuest I является той игрой, которая породила индустрию MMORPG в том виде, в каком она есть сейчас.

Сервер (или как в среде UO принято говорить — шард) я запустил в 2010 году, имея на тот момент 5 лет опыта игры на официальных серверах и еще столько же на пиратских. Катализатором сего действа стало разочарование за русскоговорящий сегмент шардов (сиреч сегмент СНГ по состоянию, когда оно было максимально актуальным). Я играл на официальном, играл на качественных американских пиратских, потом возвращался на пиратские же российско-украинские, и видел там боль, отчаяние и уныние. Все сервера, работающие на тот момент, не имели совершенно ничего общего с этой игрой, кроме, собственно, самого клиента. Стабильность их работы была весьма посредственной, а люди понятия не имели, на что похож оригинал. Забегая вперед, скажу — картина за этот десяток с лишним лет не поменялась совершенно.

2010 год — Вступление с третьей попытки

Началось все в начале 2010 года, с праздного интереса — попробовать снова поиграть вместе с братом на каком-то из новых шардов, после недолгого перерыва. Спустя нн-ое время, проведенное в непродолжительных скитаниях по проектам, я решился на авантюру. Было решено, что поиграем мы теперь на собственном сервере. Была скачана сборка RunUO 1.0 (популярный на тот момент эмулятор, и первое, что попалось из движков и было на слуху). На ней был с грехом пополам поднят сервер и заселен мир, причем предшествовало этому чтение огромного количества гайдов и мануалов, ибо 1.0 — это настоящий кошмар. Особенно, когда совершенно ничего в этом не понимаешь. Юзер френдли? Увольте. Через пару дней сервер был перемещен на свое выделенное, если можно так сказать, железо. Работала наша сборка на вечно вылетающем USB-ADSL модеме с динамическим IP. Играть кое-как было можно, некое удовлетворение определенно присутствовало.

Однако о полноценной игре речи, разумеется, не шло. Все оказалось несколько сложнее, чем мы предполагали. В частности — практически пустой мир, и неработающее все. Понуро опустив голову, руки и все, что стояло, снова решили выбирать, где бы поиграть. Осложнялось все тем, что у нас к тому моменту за плечами было уже несколько лет игры и на пиратках, и на официальных серверах. А после официалов — было сложно играть в «пиратскую» Ультиму, но мы снова решили сделать это.

Российские серверы были отброшены сразу же, по причине старых (годами не обновляющихся) сборок, отсутствия поддержки как таковой, несбалансированности доната, рисованных предметов, и конечно же — накрученного онлайна. Также стоит учитывать кипу запрещенных, причем только на словах, программ. Тут надо пояснить, что на эмуляторе Sphere (на котором работало, да и работает подавляющее количество российских и украинских серверов) их применение, как минимум, приводит к печальным последствиям для игрового процесса, а закрывать подобные дыры могут единицы проектов (подробнее об этом будет по ходу рассказа). Исходя из этого, ориентиром для игры были выбраны иностранные площадки. Такой ситуации как на российских (по большому счету на всех, на территории бывшего СССР) — там, в массе своей, не было. В итоге был выбран один из самых крупных и известных американских серверов того времени, назовем его «Х».

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

Снова встал вопрос — что делать дальше. Мы решили вернуться к нашей авантюре и попробовать поднять свой сервер, на этот раз уже полноценный, взяться за дело серьезно (как мы это себе тогда представляли).

Когда ты полон пиратского задора, но не видишь следующих 13 лет.

Поставленная задача была следующей — постараться сделать шард, имеющий качество иностранных топовых проектов, но расположенный в России, и работающий для игроков из ex-СССР, в первую очередь. Минимальный опыт, пусть и всего месячный, у нас уже был. И главное — было желание показать, как оно должно быть.

На этот раз была скачана более свежая сборка эмулятора RunUO (на тот момент как раз была выпущена версия 2.0). Работа над фиксами, тестами и исправлениями заняла 2 месяца каждодневной работы над скриптами. Изюминкой на торте было то, что программировать из нас не умел никто, а процесс представлял собой примерно следующее — читаешь форум сутки, 30% делаешь сам, остальные 70% за тебя делает какой-то парень с той стороны океана, который согласился за спасибо тебе накидать две строчки кода за минуту, которые «точно» сделают то, что ты хочешь. Еще спустя некоторое время наша чудо-сборка была закончена — сервер работал с 6-ой версией клиента и неполным дополнением ML (и то, и то — последнее на тот момент). Сверху того, что и так еле работало, мы добавили кастомные участки карты путем патчей оригинального клиента.

После, чтобы все было как у взрослых (на тот момент все просто выкладывали клиенты в архивах) — была создана первая версия инсталлятора. В начале сентября был поднят сайт на бесплатном хостинге (привет, «народ ру»), на котором была выложена информация по подключению и ссылка на загрузку игры. А уже в конце сентября — мы переехали на полноценный платный хостинг и купили себе домен. Само же подключение к нам работало через сервис no-ip (как и прежде, адреса были динамические — все стояло дома). Уже тогда вы могли зайти к нам и побегать по молодому Миру (сервер тогда носил имя «The World»). А выделенным железом под сервер стал Asus Eee PC 701, разогнанный до 1100Mhz со стоковых 900, с замененной плашкой памяти на 2гб со стоковых 512мб, 4GB SSD — и это вместе с ОС.

Админим сервер Ultima Online 14 лет - первая часть лонга Ultima Online, MMORPG, Ретро-игры, Видео, Длиннопост

Картинка из интернета, но отчетливо помню, как стоял в магазине и выбирал между нормальным ноутбуком от MSI который по цене был на 1000 дороже и этим. К сожалению, тогда мне показалось купить маленький недо-ноутбук хорошей идеей.

Казалось бы, вот оно — счастье. Мы приложили много усилий, потратили время, небольшую щепотку денег, замешали все это в котле амбиций и стремлений к великому светлому будущему и получили на выходе что? Внутренний перфекционист во мне ответил тогда так — эталонный кусок отборного российского сервера. Ровно ничем не отличающийся от остальных, такой же кривой, лагающий, вылетающий и склепанный на коленке такими же додиками, которые ни в чем ничего не понимают. Стало понятно, что надо что-то менять. И мы поменяли.

2011 год – Вяло набираем обороты

Начать было решено с железа, ибо несчастный нетбук не вывозил совсем, что приводило порой к фризам игрового мира и очень долгим его сохранениям, несмотря на SSD (на всех серверах, раз в отведенное время, происходит т.н. «сейв», все на экране на несколько секунд замирает, появляется соотв. надпись, после чего все возобновляется с того же места). Поэтому дрожавшей рукой я открыл «Молоток» — ныне почивший интернет-аукцион, а не журнал с Бритни Спирс. Покопавшись по выставленным лотам — нашел подходящий пентиум 4 с HT в желтеющем корпусе, бывшим когда-то белым, с 2гб оперативной памяти и IDE жестким диском на 40гб. Мечта? Мечта. Отдав по итогу 2500р, установив в него разваливающийся (в прямом смысле, бэд-блоков в нем было больше, чем песчинок на пляже) макстор вторым диском под надежные бэкапы, заказав прямой выделенный IP у провайдера и поставив 2003 серверную винду, я получил наш первый сервер, собранный и купленный отдельно под Ультиму.

Дальше с горем пополам был изменен дизайн сайта с «интернет 89-го» до «интернет 90-х», и склепан наш первый форум. До сих пор помню эти сто вариантов дизайна каждый за 3 минуты — тогда появилось ощущение, что я без 5 минут Тема Лебедев. Сделано все было на невероятно древней версии движка PHP-Fusion о котором, наверное, никто уже и не знает. И конечно, у нас был курсор в виде меча.

Админим сервер Ultima Online 14 лет - первая часть лонга Ultima Online, MMORPG, Ретро-игры, Видео, Длиннопост

Единственный сохранившийся скриншот первой версии дизайна сайта и форума.

После чего встал вопрос — что делать со скриптами и сборкой шарда в ситуации, при которой кодить из нас двоих никто не умеет. На том же форуме эмулятора был найден программист (известный в то время в комьюнити человек, как потом оказалось, в последние годы пропавший с радаров после переезда в штаты), который в свое свободное время и абсолютно безвозмездно помогал мне не испортить все окончательно, пытаясь меня чему-то научить. Подробно объяснял, где и что у нас сломалось, как это починить, заодно выполняя те ТЗ, которые я ему давал. Во многом, благодаря этому человеку сервер продержался тот год и не был закрыт. Денег оплачивать его объем работ не было, и даже несколько лет спустя, когда они появились, он всегда отказывался, в том числе и на предложения оплатить его помощь за 2011. В конечном итоге, на сервере ему был установлен памятник со словами благодарности, который стоит и по сей день. А благодарить, определенно, было за что.

Что из себя представляла работа сервера в то время? Первое воспоминание — я хочу спать. Все сильно гудело и стояло в метре от кровати под столом, потому что больше ставить железо было некуда. Поэтому засыпал и просыпался я под хруст макстора, осыпающего последние остатки напыления с пластин и гул 80мм кулеров, молотящих на полную. А еще сборка постоянно софтварно падала.

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

Так шел наш второй год: под треск сыпящего бэд-блоками винта у меня под столом, и с падающим сервером, лагающем при любой серьезной нагрузке. Как ни странно, ближе к середине года, когда руки уже опускались, и вставать каждый день для того, чтобы вручную поднять сервер в 4 утра стало надоедать — начал появляться первый круглосуточный постоянный онлайн. Людям нравилось, что с ними общаются в режиме реального времени, и они не ждут ответов поддержки неделями.

Админим сервер Ultima Online 14 лет - первая часть лонга Ultima Online, MMORPG, Ретро-игры, Видео, Длиннопост

Архивный скриншот того года: везу игроков собственноручно на корабле на какой-то эвент. Лакшери кресла были выданы в процессе, чтобы люди не стояли.

С приростом онлайна стало понятно, что нужно что-то делать с донатом, которого до этого момента не было вообще. Расходы росли, время тратилось, а монетизации, без которой невозможно хоть какое-то осмысленное развитие нет даже в зародыше. Вдобавок было понимание, что нужен постоянный кодер на зарплате доступный в любой момент и в перспективе апгрейд железа на более взрослое. Делать монетизацию как была в то время на массе СНГ-серверов очень не хотелось, потому что вин-ту-плей — это путь в никуда и на пару месяцев. Потому, как и все взрослые люди, мы сделали донат без предметов, дающих какие-либо статы и влияющих на баланс. Вернее сказать, что такие предметы все же были, но все из них можно было быстро получить в игре и их было меньше 5 (сегодняшний пример — это newbie сеты на первые пару недель, которые можно набить и так за пару часов в первом же данже или купить за внутриигровую валюту, фарм которой займет час). В основном в донате была внешка, маунты, краски и ускорение прокачки. О том, что мы собираемся вводить монетизацию, мы заранее объявили на форуме и люди не были против.

Однако, тут было два момента, которые были ложкой дёгтя:

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

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

Таким образом, худо-бедно, но под конец года мы накопили небольшую сумму, которую было решено потратить на то, чтобы добавить в команду штатного программиста и наконец-то перестать дергать безвозмездно нам помогающего. Поспрашивав по игрокам, мы вышли на человека, списались с ним, все обговорили — и вуаля. Кодер описал все красиво, сразу же предложил достаточно много необходимых для нашего роста систем (у него был и свой сервер, где все это прошло обкатку) за вменяемые деньги, автоматизированную систему приема платежей и ингейм-магазин(и еще ряд всего того, без чего сейчас невозможно представить любую современную MMO). Мы оплатили первые из них, и не без проблем, но успешно, они перекочевали на нашу сборку шарда. Казалось бы, все шло хорошо, и мы наконец-то нащупали пусть и вязкую, но почву под ногами. Однако на тот момент мы не знали, кем был этот человек, и какими проблемами знакомство с ним обернется в дальнейшем.

2012 год — Через тернии к логам

Год начался с понимания нескольких вещей. Во-первых, с ростом онлайна стали понятны все узкие моменты в нашей организации рабочего процесса. Во-вторых, мой двоюродный брат, который все это время помогал с ответами на форуме, окончательно отвалился по причине новой работы, которая съедала всё свободное время. Таким образом, я остался один, а нагрузка и человеко-часы возросли кратно (программиста мы не считаем, он с людьми не работал) .

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

Админим сервер Ultima Online 14 лет - первая часть лонга Ultima Online, MMORPG, Ретро-игры, Видео, Длиннопост

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

В какой-то момент, когда я понял, что не могу найти очередное сообщение об очередной ошибке (потому что не помню, кто и когда и куда из 20 с лишним людей писавших мне сегодня его отправил), я задумался над тем, что это как-то ненормально и надо что-то делать. Спустя неделю у нас появился свой HelpDesk и отдельный поддомен поддержки, который используется и по сей день. Другими словами, вся поддержка была переведена на систему тикетов с разбивкой по категориям — с нормальным поиском, каталогизацией, выборкой и статистикой.

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

Это несколько, пусть и не сильно, снизило нагрузку на меня вне игры, но нагрузка в игре росла (что-то заселить, где-то исправить, задекорировать, провести какой-то эвент, и т.д.). Стало ясно, что нужно брать ГМ-ов, а брать их кроме как не из игроков — неоткуда. На примете было два человека, оба они по мере своих возможностей помогали по мелочи (что-то тестировали, активно сообщали об ошибках, объясняли, что к чему, новичкам) и в целом были в режиме «братва рвется к власти».

Предложив попробовать себя в новой роли, было предложено сначала первому. Сразу было оговорено: работа в его свободное время, деньги если и будут — их будет очень мало, поэтому в большей степени рассчитывать придется на внутриигровую донат-валюту и собственную вовлеченность. Первый месяц все было хорошо, я досконально проверял за человеком его работу, все рассказывал и объяснял, да и общение шло в позитивном ключе. На второй месяц, когда мой контроль с уровня «угроза уровня мстителей» опустился до «сам разберется» начали проявляться тревожные звоночки. В частности, эвенты у нас тогда проходили в большей своей массе в т.н. «ручном» режиме, т.е. всю работу от подготовки мероприятия до выдачи призов за него делала администрация руками. Переместить игроков куда-то, построить зону, создать босса, убрать где-то стенку, поставить порталы и т.д., все это делалось на ходу в игре. И стали возникать ситуации, при которых в случае победы определенной гильдии, или же участника из нее, призы были значительно лучше, чем у остальных в подобных ситуациях. Причем лучше до уровня «аналогов в мире нет», и касалось это не «внешки», а статов предмета.

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

Админим сервер Ultima Online 14 лет - первая часть лонга Ultima Online, MMORPG, Ретро-игры, Видео, Длиннопост

Это я в глазах ГМ-а, когда заявил ему, что он видимо ошибся несколько раз подряд и выдал не то.

Все шло вроде-бы хорошо, но «улицы шептали» что как-то подозрительно много на вендорах стало крафтовых предметов с хорошими параметрами, получить которые можно только с очень редких т.н. валоритовых инструментов, использующихся при производстве вещей. Изюминка была в том, что шанс на прок параметров так, чтобы они были действительно хороши и востребованы, вкупе с редкостью самих инструментов для крафта, делал массовое появление таких вещей практически невозможным. Однако, проверка показала, что они есть, и их явно больше, чем позволяла статистка. Ситуация осложнялась тем, что — сюрприз, а логов то и нет. Вообще никаких и вообще ни для чего. Нет их потому, что их просто нет у эмуляторов ультимы. Конечно, есть базовые логи, скажем, на падения сервера, но никаких логов отслеживания чего-либо из того, что делает игрок просто нет.

В итоге, с грехом пополам, через внутриигровые команды, которые умеют понимать несложные формулы в виде «больше-меньше-равно» были найдены несколько предметов, на которых количество «использований» с обычных 5-10 было выставлено на over9000 в прямом смысле. Дальше было снятие прав с ГМ-а и бан всех персонажей, и очень потная неделя, которая была потрачена на чистку выброшенных на рынок вещей в ручном режиме, т.к. многие успели продаться уже по десятому кругу, а логов, напоминаю, никаких не было. Это было первым ударом ножа в псину, но виновата тут была псина, потому что нужно было предусматривать такой ход развития событий сразу, а не разбираться в последствиях, не имея на то инструментария после.

Вторым мини-ударом ножа в псину стала попытка привлечь второго человека на эту же должность. Закончилось всё тем, что прямо под моим незримым присмотром он убрал босса под землю для того, чтобы пришедшая на место гильдия-конкурент его не нашла, а нашла гильдия, в которой состоял данный персонаж. Бонусом стало то, что это произошло в момент, когда люди могли все это видеть своими глазами и стояли рядом. Что было дальше понятно — чемодан, вокзал, бан и мои неловкие оправдания перед теми, кто в тот день пошел этого босса фармить.

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

Таким образом, после двух фейлов подряд и будучи в миллиметре от непоправимого репутационного ущерба (люди уже начали шептаться), была принята следующая доктрина, которой мы придерживаемся и сейчас — никаких посторонних людей с правами выше уровня игрока, только автоматика. И логи. Много логов. Надо сказать, что логирование всего уже стало внутренним мемом, и иногда возникают ситуации вида — «Где у нас логи падения шестой капли вина в бокал игрока полтора года назад? Нигде? Срочно сделать!».

Но кроме неудач, были и успехи. Так мы смогли собрать и отложить (что главное) с пожертвований (сиреч, доната) к концу года 40к рублей, на которые был закуплен наш новый сервер. Это было все еще десктопное железо, но на тот момент из всех серверов Ultima Online в мире, он входил в пятерку самых мощных: AMD FX-8150, 32ГБ памяти, и два новеньких винта, установленных в софтварный рейд под бэкапы, плюс SSD непосредственно для работы сервера. А еще роскошный корпус форм-фактора Big Tower с толстой сталью, способной защищать от бронебойных снарядов.

Админим сервер Ultima Online 14 лет - первая часть лонга Ultima Online, MMORPG, Ретро-игры, Видео, Длиннопост

Архивное фото того самого сервера в момент сборки. Позднее куллер был заменен на башенный.

Гордость тогда распирала, ведь это была первая покупка на заработанные с сервера деньги, пусть и потраченные обратно на сам сервер. Но главное было ощущение — вот оно, вот так выглядит прогресс. А накопить такую сумму мы смогли не только благодаря росту онлайна как такового, но и благодаря тому, что наконец-то с ручного неудобного формата приобретения-выдачи ингейм ништяков мы перешли на полностью автоматизированную «донатку».

А еще мы объявили конкурс на смену названия шарда. Который до сих пор так и назывался «The World», из-за чего возникали ощутимые проблемы с продвижением, ведь разных «World»-ов было выше крыши. Победил вариант «Inceptum», что переводится с латыни как «Начало». В этом же году была проведена работа над созданием, наполнением и модерированием наших групп в социальных сетях, которых у нас до сего момента не было. И вместе с социальными сетями для привлечения русскоговорящей аудитории мы даже попытались привлечь иностранных игроков, создав одностраничный англоязычный отдельный сайт на иностранном домене.

Вкупе все усилия приводили к тому, что сервер постепенно обретал имя и становился известным широкому кругу игроков, количество учетных записей вплотную приблизилось к 5000. Да и стабильность работы росла — самый долгий даунтайм из-за технических проблем за этот год составил всего 2 часа.

* Из-за ограничения по символам пришлось разбить лонг на несколько частей, так что продолжение ищите в следующей части.

Показать полностью 7 1
[моё] Ultima Online MMORPG Ретро-игры Видео Длиннопост
24
81
Carter54
Carter54
11 месяцев назад
Уголок ретрогеймера
Серия Онлайн Игры

Ultima Online в браузере⁠⁠

Всем привет! Сегодня у нас одна из первых популярнейших MOORPG, которая оказала огромное влияние на всю игровую индустрию - Ultima Online. Игра, которая в принципе создала MMO таким какой мы его видим сейчас, где люди реально отыгрывали свои роли создавая тысячи уникальных интересных историй. И так, давайте начнем...

ИГРАТЬ

Ultima Online в браузере Ретро-игры, Онлайн-игры, Мультиплеер, MMORPG, Олдскул, Carter54, Браузерные игры, Ultima Online, Ultima, Telegram (ссылка), Длиннопост

Для начала заходим на сайт и выбираем сервер. Я выбрал UOalive, там много народа.

Ultima Online в браузере Ретро-игры, Онлайн-игры, Мультиплеер, MMORPG, Олдскул, Carter54, Браузерные игры, Ultima Online, Ultima, Telegram (ссылка), Длиннопост

После выбора сервера начнет грузится сама игра (в зависимости от сервера от 500мб до 2Гб)

Как только игра загрузится появится окно с аккаунтом и паролем. НЕГДЕ регистрироваться не нужно. Просто придумываем себе логин и пароль и нажимаем Login

Ultima Online в браузере Ретро-игры, Онлайн-игры, Мультиплеер, MMORPG, Олдскул, Carter54, Браузерные игры, Ultima Online, Ultima, Telegram (ссылка), Длиннопост

Дальше опять выбираем сервер в появившемся окне и переходим в меню создания персонажа

Ultima Online в браузере Ретро-игры, Онлайн-игры, Мультиплеер, MMORPG, Олдскул, Carter54, Браузерные игры, Ultima Online, Ultima, Telegram (ссылка), Длиннопост

Создаем кого хотим, обязательно вводим имя, и далее выбираем специальность. Ии... Поздравляю Мы в игре прямо в браузере.
Работоспособность проверена на Chrome (на остальных браузерах не проверял)

Ultima Online в браузере Ретро-игры, Онлайн-игры, Мультиплеер, MMORPG, Олдскул, Carter54, Браузерные игры, Ultima Online, Ultima, Telegram (ссылка), Длиннопост

Немного собственных скриншотов

Ultima Online в браузере Ретро-игры, Онлайн-игры, Мультиплеер, MMORPG, Олдскул, Carter54, Браузерные игры, Ultima Online, Ultima, Telegram (ссылка), Длиннопост
Ultima Online в браузере Ретро-игры, Онлайн-игры, Мультиплеер, MMORPG, Олдскул, Carter54, Браузерные игры, Ultima Online, Ultima, Telegram (ссылка), Длиннопост

Созданный вами персонаж, логин и пароль, сохраняются и вы можете всегда продолжить игру.

Вот такой вот олдскул у нас сегодня. Всем отличного дня и времяпровождения!

Мой Steam профиль,
Наш уютный Discord - Pikabu Browser Gaming
Не менее уютный Телегеграм где контента и браузерных экспериментов чуть больше
Мой Телеграм-бот с почти 2300 приставочных и не только игр для браузера и мобилок
Заходите в гости).

Показать полностью 6
Ретро-игры Онлайн-игры Мультиплеер MMORPG Олдскул Carter54 Браузерные игры Ultima Online Ultima Telegram (ссылка) Длиннопост
28
Посты не найдены
О Нас
О Пикабу
Контакты
Реклама
Сообщить об ошибке
Сообщить о нарушении законодательства
Отзывы и предложения
Новости Пикабу
RSS
Информация
Помощь
Кодекс Пикабу
Награды
Команда Пикабу
Бан-лист
Конфиденциальность
Правила соцсети
О рекомендациях
Наши проекты
Блоги
Работа
Промокоды
Игры
Скидки
Курсы
Зал славы
Mobile
Мобильное приложение
Партнёры
Промокоды Biggeek
Промокоды Маркет Деливери
Промокоды Яндекс Путешествия
Промокоды М.Видео
Промокоды в Ленте Онлайн
Промокоды Тефаль
Промокоды Сбермаркет
Промокоды Спортмастер
Постила
Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии