Как стать автором
Поиск
Написать публикацию
Обновить

Одиночный забег. Часть 1: Как я поднял сервер Lineage 2

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров6K
Скрытый текст

И что получилось в итоге...

Всем привет!

На Хабре любят истории в духе «я за ночь на коленке написал сервис, а потом его купил Google».

Но это не та история.

В цикле постов под названием «Одиночный забег» я расскажу о своём опыте до сегодняшнего дня.

И это не будет рассказ про «успешный успех»...

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

Идея

Играя на одном из проектов пиратских серверов в конце 2023 года я познакомился с человеком в чате.

Тогда я продавал ему игровые предметы за рубли
Тогда я продавал ему игровые предметы за рубли


Нам нравился сервер, на котором мы играли. Хоть там и был небольшой онлайн (100~200 человек) и как то в дальнейшем по приколу я предложил ему открыть аналогичный сервер.

Он кстати лихо подхватил идею и согласился
Он кстати лихо подхватил идею и согласился

Я ни разу не делал подобного и начал шуршать в интернете что нужно и сколько это стоит.

Roadmap

Мы поделили обязанности. У него были финансы — у меня было желание. Но одного желания мало! Нужен ещё характер… Чтобы дойти до конца, где никто возможно и не ждёт

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

На перспективу это казалось идеальным решением:

  • экономия на дистанции,

  • полный контроль,

  • возможность использовать железо под другие проекты.

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

Реализация

После настройки сервера начался этап выбора сборки.

В этой теме я тогда абсолютно не шарил.
Казалось, что всё просто: купить где-то файл с хрониками, запустить его, нагнать толпу игроков и считать деньги.

Скрытый текст
Скрытый текст

По итогу я скрупулёзно выбирал хроники. Их — различное множество, и именно от выбора хроник строится вся концепция сервера.

Я изучал цены, читал форумы, пытался понять, что вообще продают.
И довольно быстро понял: хорошие сборки никто не продаёт.

На тот момент я догадывался, но всё равно надеялся на чудо.
Сборки бывают двух типов:

  • Java — фанатские переписки клиента, часто с кучей багов, костылей и «улучшений» от автора. Можно купить скомпилированную версию или же вместе с исходниками.

  • PTS (offlike) — близкие к оригиналу, но, во-первых, стоят других денег, а во-вторых, не факт, что кто-то их продаст тебе «честно».

В итоге я нашёл, как мне тогда казалось, ОТЛИЧНЫЙ вариант на Java.
Договорились о тестовом запуске.

Сервер подняли, проходит минут двадцать — и меня спрашивают:
«Ну что, готов? Будем брать?»

Честно говоря, я даже не понимал, что именно мне там тестировать.
Ну зашёл, ну побегал, вроде работает. Значит норм.

Настройка сборки

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

Нужно было:

  • установить определённое ПО,

  • прикрутить удобную СУБД,

  • прописать доступы,

  • указать IP в логин-сервере,

  • и уже локально проверить, «че кого».

В момент первого запуска локально я уже ощущал мокрое пятно в районе пятой точки.
И, как оказалось, не зря.

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

На этом моменте меня накрыло понимание:

Так… кажется, я только что купил себе геморрой
Так… кажется, я только что купил себе геморрой

Сборка обошлась примерно в 20 тысяч рублей.
На тот момент казалось: «ну да, дорого, но зато будет рабочая основа».

Мы начали тестировать её вместе с партнёром.
И довольно быстро вылезла новая проблема: в определённых моментах игра тупо критовала — вылетала в ноль.

Помимо найденных багов нужно было ещё перелопатить все файлы сборки и как-то навесить туда своё видение — построить концепцию, добавить «изюминку».

По времени это заняло где-то месяц.
На самом деле ничего сложного… казалось бы.

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

Приходилось ещё и лезть в клиент, чтобы повторять всё то же самое.
И снова выставлять те самые АЙДИШЕЧКИ.

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

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

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

Разработка сайта

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

Я начал смотреть цены.
Эффектный сайт под ключ — от 2000$.

Ну а откуда у меня такие деньги?

В итоге я решил, что нужен хотя бы цепляющий лендинг.
И… просто тупо украл его у другого проекта.

Полтора месяца (!) я ковырял этот шаблон и менял его под себя.

И до сих пор считаю: это было самое тупорылое решение после самого решения вообще заниматься этим проектом.

По итогу получилось откровенное ГОВНО.
Первая версия даже не открывалась нормально на телефонах.

Но даже при этом один из пользователей сказал мне:
«У вас такой классный сайт!»

До сих пор не понял — это была шутка или искренний комплимент.

А я говорил, что до этого никогда не размещал сайты?
Пришлось разобраться и с доменами, и с хостингами, и с тем, как вообще всё это работает.

Это было интересно и захватывающе.
Да, криво, да, смешно, но мне реально нравилось то, что я делаю.

Там даже был видеоролик на главное странице
Там даже был видеоролик на главное странице

Кстати, первая версия сайта на самом деле была не такой уж плохой.
Но потом начался новый уровень боли.

Мне начали писать владельцы шрифтов с требованием заплатить за использование их работы.
ЗА НИХ ЧТО, ЕЩЁ И ПЛАТИТЬ НАДО ЧТО ЛИ?!

Я, конечно, просто убрал их с сайта.
И тут оформление стало ещё хуже: буквы плохо читались, шрифт смазанный, а я сам, кажется, потерял зрение, пока изучал свой же сайт.

Логотипы и картинки я рисовал в Photoshop, подгонял по размерам, крутил-вертел, пока оно хоть как-то смотрелось.

И это, как ни странно, был интересный опыт!

Мастер аккаунт + Donat система

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

Были бесплатные версии — заброшенные.
Были платные — тоже заброшенные.

В итоге я нашёл одного разработчика своего веб движка на том самом форуме, о котором уже говорил.

Но тут встал новый вопрос: а как это всё установить?

Оказалось — всё просто: PHP (нет).

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

Но справедливости ради — я реально стал платить меньше, а он помог с настройкой и по возможности объяснял, что делает.
Хороший парень!

Пользуюсь его движком до сих пор. Он приложил много сил и теперь перевел его на подписку. Думаю это справедливо.

Анекдот

Кстати, а я говорил, что купленная сборка была только на английском языке?

Я решил уточнить, сколько будет стоить раздобыть ру-патч.
И тут внезапно оказалось, что найти его «на ру языке» было просто нереально.

И вот чисто случайно нашёлся человек с того самого форума (да-да, о нём я уже говорил дважды и буду говорить ещё не раз).

Он буквально «по приколу» решил помочь.
За пару минут сделал то, что для меня казалось невозможным.

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

Гениально. Просто. Но не для меня.

Разумеется, я его отблагодарил.
Хотя не на 500–1000 у.е., как это могло бы стоить у каких-нибудь профессионалов.

Канал связи. Безопасность. MikroTik

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

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

Пришлось связываться с специалистами Ростелеком, они помогли сделать купленный маршрутизатор "Главным"

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

Лаунчер. Защита игры

Следующий этап — лаунчер, он же «запускатор».
По сути это просто файл .exe, через который игрок открывает приложение.

Да, можно было запускать игру напрямую через System, но это вообще не круто.
А у меня должно быть круто!

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

Разумеется, к сборке нужно было ещё докупить защиту от пакет-хака и ботов.
(ДА-ДА-ДА-ДА-ДА!)

Без неё сервер просто бы сожрали за неделю!

Скрытый текст
Кому он ***** нужен
Кому он ***** нужен

Цена вопроса — около 120$ в год по подписке.

Финишная черта

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

Но было интересно: а что будет в конце?
Ожидания у меня, конечно, были.
А вот оправданы они точно не были.

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

Важно даже было дойти до конца уже просто потому что начал.

А в конце — реклама.

Реклама своего проекта.

И суммы денег, которые нужны, чтобы рекламить.

Размещение на топиках (один из лучших видов рекламы, как я тогда думал) давало попеременный результат.
В основном после «залпового» размещения на всех возможных топиках… кроме самого жирного, где месячное размещение стоило 700$ (СЕМЬСОТ ДОЛЛАРОВ)

Мы увидим следующее:

вы увидите в конце низкий онлайн и сообщения в чат: «админ ****, говно серв и так далее».
вы увидите в конце низкий онлайн и сообщения в чат: «админ ****, говно серв и так далее».

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

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

Да даже не только здесь.

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

Одно дело, когда люди заходят, играют, и потом аргументированно пишут, почему «говно».
А тут получалось иначе: люди заходили, видели пустой онлайн и сразу говорили «говно» — просто потому что людей нет.

И их, конечно, так и не будет.

Ну это была секунда слабины!

А вот мои выводы:

  • Было круто пройти всё это самому.

  • Но кому-то ещё я такого опыта точно не пожелаю.

Если есть вопросы - не стесняйтесь)

Это был не первый и не последний мой обсёрчик!
Если будет хоть какая-то обратная связь — я буду готов поделиться новой порцией боли про свой «шикарный» (с моей точки зрения) проект на Python.

Там я реализовал такие вещи, о которых раньше мог только читать на Хабре:

  • реалтайм-механику через WebSocket

  • систему динамического распределения награды между сотнями игроков

  • и даже бота, который сам вычислял подозрительных читеров

Звучит интересно? На деле это был ещё один аттракцион боли и костылей.

Теги:
Хабы:
+9
Комментарии15

Публикации

Ближайшие события