У меня не работает стримкрафт

У меня не работает стримкрафт

Радио добавьте в новый лаунчер.

У тех кого крашится, оперативки мало. Не беда
— прописываем аргументы в самой java (выделение памяти) от 2624mb норм, но имейте ввиду 64x разрядность пк

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

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

Источник

СтримКрафт изнутри

Доброго времени суток, уважаемые товарищи. Сегодня мы расскажем вам самые сокровенные секреты о том, как работает StreamCraft изнутри. Если вы всегда хотели узнать, что происходит по ту сторону экрана, когда вы регистрируетесь у нас на проекте и заходите в игру, то эта статья для Вас! Или, может, Вы владелец другого проекта и хотите узнать, как у нас тут все организовано?)

Начнем с сайта

Кажется, что в 2020 году любой желающий может сделать свой сайт за несколько минут. И это действительно так, но есть свои нюансы. Проблема в том, что русскоязычное сообщество Minecraft, к сожалению, отличается своей недоброжелательностью. Есть огромное количество людей, желающих нам как-то навредить. Неважно, будут это конкуренты или просто «домашние хацеры» — их количество действительно зашкаливает. Но, благодаря современным технологиям, мы можем эффективно противостоять атакам недоброжелателей. Один из главных наших помощников в этом непростом деле – сервис по защите от DDoS-атак CloudFlare. Мало того, что он нам дает защиту от атак, так еще и увеличивает нашу производительность. Все статические данные, вроде клиентов в лаунчере или графики на сайте, копируются на сотни серверов по всему миру. И абсолютно не важно, живете Вы в России или США – все данные будут грузиться одинаково быстро. Однако, из этого вытекает и небольшой минус: все скины и плащи меняются не моментально, а с задержкой в 5-10 минут. Но ничего идеального в этом мире нет. CloudFlare не является панацеей от всех проблем. При сильных DDoS-атаках нам приходится блокировать все страны, кроме СНГ.

Но что же происходит дальше с Вашим запросом?

С этого момента начинается самое интересное. Так как наиболее приоритетной задачей мы ставим стабильность проекта, с чем несколько лет назад были проблемы, мы должны были сделать какой-то рывок. И мы его сделали. Для того, чтобы наш сайт был доступен без перебоев, мы подготовили кластер серверов, на котором и находится код нашего сайта. Этот сайт обрабатывает все запросы, обеспечивает функционирование серверов авторизации и базы данных (сайт, кстати, написан с нуля на PHP-фреймворке Laravel). Сейчас сайт использует 3 высокопроизводительных сервера с подключением к интернету по 3гбит/с на каждый сервер. Вся эта довольно непростая система дает возможность балансировать нагрузку между серверами. При этом, если один сервер выходит из строя, то другой сразу подхватывает все его функции, и работоспособность сайта не нарушается.

О безопасности ваших данных.

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

Читайте также:  Почему не работает канал детектив

Мы же, в свою очередь, шифруем передачу паролей на всех этапах, используя последние версии протокола HTTPS в сайте и лаучнере. Мы никогда не храним Ваш пароль в открытом виде, он мгновенно хэшируется очень качественным и настоятельно рекомендуемым алгоритмом bCrypt. Тем самым, даже администрация не сможет узнать ваш пароль, так как расшифровка такого хэша практически невозможна. Между нашими серверами данные также передаются в зашифрованном виде и только по локальной сети. Хочется упомянуть, что сайт защищен от подбора паролей одним из самых надежных сервисов — Google reСaptchaV3. Он с большой точностью отличает реальных посетителей от ботов, тем самым блокирует возможность создания большого количества аккаунтов или подбора пароля.

Лаунчер и читеры.

Сейчас у нас работает два разных лаунчера с единой системой авторизации. Старый лаунчер служил нам долгое время, но, увы, он технически и морально устарел. Было принято решение о разработке нового лаунчера и системы защиты от читеров. Новый лаунчер мы решили делать на основе Gravit Launcher – лаунчера с открытым исходным кодом. Мы выражаем огромную благодарность разработчикам Gravit и Zaxar163, которые тратят свое личное время на бесплатное и открытое ПО.

Так как наших человеческих ресурсов не хватало на столько глобальный проект, мы попросили помощи у стороннего разработчика, который разработал нам новую защиту от читов. Но с появлением защиты мы столкнулись с одной очень непростой проблемой – антивирусами. Мы, безусловно, полностью поддерживаем использование такого ПО, но оно часто дает сбои и определяет нашу защиту как вирус. Происходит это по нескольким причинам. Первая причина в том, что все файлы нашего лаунчера максимально защищены и обфусцированы (их код запутан до такого состояния, что работать с ним не получится). Это сделано для того, чтобы разработчики читов не могли разобраться в работе нашей защиты и сделать ее обход, а также для того, чтобы защитить процесс игры от вмешательства в код или память игры. Вторая проблема в том, что код защиты достаточно низкоуровневый и может давать разный результат на разных системах. Мы физически не можем проверить его на всех различных версиях и кастомных сборках Windows с торрентов (привет нашим маленьким пиратам

Точное количество наших серверов назвать сложно – оно постоянно меняется, чаще всего в большую сторону. На момент написания статьи их 25. Для серверов мы арендуем высокопроизводительное оборудование у одного их самых крупных и надежных провайдеров – OVH. Раньше наши сервера находились во Франции, но недавно вы приняли решение перенести всю свою инфраструктуру в дата-центр в Польше. Это незначительное действие позволило снизить задержку между игровыми серверам и игроками из стран СНГ. Но ведь от этого сервера не перестали лагать? Проблема глубже, все дело в ядре.

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

Читайте также:  Что делать если у меня сломалась клавиатура

Но как решать эту ситуацию? Оптимизация! И к сожалению, ограничения.

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

Давайте взглянем на статистику NanoTech-1. Как мы видим, в трех мирах суммарно загружено больше 38 тысяч TileEntity и 4 тысяч сущностей (мобов). TileEntity – это любой блок, который выполняет какую-то работу. Сюда входят все печки, любые компоненты МЭ сетей, провода, магические блоки и многое другое. И каждый из них выполняет свой код 20 раз в секунду, проводя различные вычисления. И все это происходит в одном потоке. Представляете как плохо ядру процессора? Для этого и нужны оптимизации, чтобы каждый блок обновлялся максимально быстро и потреблял меньше ресурсов сервера. Особенно большую нагрузку дают сложные системы, вроде МЭ систем, автокрафта и каких-то схем на трубах.

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

Сервер MiniGames – наша главная гордость. Разработаны они были более двух лет назад, но до сих пор работают стабильно и без нареканий. За это нужно поблагодарить нашего разработчика Константина K733. Но так как последний год, а может и больше, он вынужден тратить все свои силы на один очень секретный проект, поддерживать и обновлять игры он не может. Но сейчас благодаря тому, что ситуация на проекте стабилизировалась, мы наконец возобновили разработку MiniGames. Совсем недавно мы обновили клиент мини-игр, повысив его производительность и снизив потребление памяти. Добиться это удалось за счет того, что клиент работает на основе чистого исходного кода Minecraft и не использует модов. Это позволило нам взять под контроль каждую частику клиента, чтобы наконец победить лаги и задержки.

Отдельная тема для разговора – сплиф. Для того, чтобы сервер мог выдержать такое большое количество людей, желающих сыграть с Лололошкой, нам пришлось переписать большую часть серверной работы. Представьте масштабы, на сервере примерно 300 человек. Каждый из них двигается и отправляет пакеты данных о своем местоположении на сервер примерно 20 раз в секунду, а сервер должен обработать эти данные и отправить остальным 299 игрокам. Неплохая такая нагрузка? Все это создает сильную нагрузку на сеть и систему обработки пакетом. Мы потратили несколько месяцев, чтобы найти идеальный баланс между плавностью передвижения и скоростью обработки данных о передвижении. Достичь это удалось благодаря системе динамического изменения частоты отправки и обработки пакетов от игроков. Данных тех, кто находится на арене сплифа обрабатываются приоритетнее тех, кто просто наблюдает за игрой. При этом, человеческий глаз этого совершенно не замечает.

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

Небольшой спойлер: в скором времени, мы планируем переписать почти все текущие игры и сделать совершенно новый уровень взаимодействия с игрой, только тссс 🙂

Более 16 серверов в датацентре, почти 3 десятка модовых серверов и сотни миниигр. Как за всем следить?

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

А что если все сломалось? Где все наши дома и ресы.

Настало время откровений. Совсем недавно, один наш разработчик решил перенести игровой сервер на другое оборудование в датацентре и сделал архив, размер его был под 200 гигабайт. И в один момент, что-то пошло не так. И в результате, файловая система и диск всего сервера (а на нем находились SandBox-1, RPG-1, NanoTech-1, TechnoMagic-1) сломались и все файлы были непригодны для дальнейшего использования. Из-за этого последний вайп и случился на неделю раньше намеченной даты. После этого инцидента мы решили серьезно обновить нашу систему создания резервных копий. Сейчас она работает на системе ПО Bareos, которая несколько раз в день создает резервные копии каждого из наших серверов. Базы данных сохраняются еще чаще и хранятся в зашифрованном виде, чтобы никто не узнал, что вы писали в чат «я люблю аниме». 😉 Помимо этого, благодаря нашей системе сценариев Ansible, процесс развертывания сервера в датацентре и отката карты полностью автоматизирован. Это позволяет исключить фактор человеческих ошибок и открывать сервера максимально качественно и быстро. Так что, если ваш дом и нажитое имущество пропадет, что очень маловероятно, то точно не на долго.

Заключение или же «разработчики тоже люди»

Мы попытались рассказать вам о нашем «сердце» максимально просто, но при этом подробно для людей из сферы IT. Теперь вы понимаете, сколько различных систем и сервисов создают StreamCraft таким, какой он есть. И самое главное, что за всей этой махиной стоит совсем небольшая команда разработчиков, менее 5 человек. И все эти разработчики – такие же люди, как и все. У них есть свое личная жизнь, семейные дела и заботы. Кто-то как я, отдает все свое время проекта, а кто-то не может себе такое позволить. Мы тоже устаем и выгораем, но именно вы, дорогие наши игроки, вновь зажигаете в нас эту искру, которая позволяет нам быть лучше и двигаться вперед. Без вас и Вашей поддержки, может быть, ничего этого бы и не было. Спасибо Вам.

Это была лишь верхушка огромного айсберга. Если Вам была интересна данная статья, поделитесь своим мнением в комментариях. Если Вам понравится, то мы напишем вторую часть, где расскажем, как мы отслеживаем нарушителей, как защищаем модераторов и сервера от взлома (спойлер: надежно), чем занимаемся в данный момент и что планируем в будущем.

Источник

Оцените статью