Wylie started looking into switching our servers from Windows to Linux. This change will allow us to scale to a higher server count and will help with server costs.
Вот это вот «allow us to scale to a higher server count» может как раз говорить о переезде на микросервисную архитектуру. Там ещё фишка в том что с микросервисами на порядок проще динамически повышать и уменьшать количество серверов.
С одной стороны понятно, что случай редкий, сложный, его и забыть просто могли. Или со временем выпал из тестирования.
Случай, увы, совсем не редкий и используемый в EVE с начала времён: силы, находящиеся в обороне, получают преимущество, благодаря тому, что их состояние серверная часть более-менее переварила, а вот пытающихся зайти в систему — нет. Известны случаи намеренного провоцирования лагов на стороне сервера, когда специальные пространственные метки в виде физических предметов (bookmark) вызывали повышенную нагрузку на сервер. Некоторые пилоты использовали их по команде для того, чтобы в момент входа вражеского флота искусственно создать лаги, мешающие прогрузке планетарной системы и состояния «грида» для тех, кто пропрыгивает в систему.
То есть вот эта асимметричность возможностей для тех, кто находится в определённой системе, и тех, кто в неё пытается попасть, из-за того, что игровое пространство, фактически, разделено на отдельные части, чуть ли не главная проблема любого массового боя в EVE. И, думаю, что этот не стал исключением, потому что все потери на стороне тех, кто пытался войти в M2.
На комплексный анализ я не претендую, но со стороны кажется, что у ситуации есть куда более масштабные последствия: война в EVE держится на морали, и вот именно мораль атакующих в нынешней войне битва в M2, показавшая практически нерешаемую в техническом плане проблему, здорово подкосила. Сил потрачено много, а результат вылетел в трубу, и вылетит в следующий раз, когда нужно будет защитить ключевую базу на финальном таймере.
CCP правы в том, что масштаб противостояния вышел на новый уровень. Но не стоит забывать о том, что полтора года компания намеренно борется с мирной жизнью в нулях, не говоря уже об отсутствии новых механик для мирной жизни и освоения диких территорий. То есть остаётся только война. Но и война в прежнем формате в конце второго десятилетия истории мира всем порядком надоела. Эта война была особенной исключительно из-за масштаба. И как раз в этом масштабе она захлебнулась на техническом уровне. Это, судя по отзывам некоторых участников, сильно демотивирует. Не говоря уже о понесенных зря потерях, потраченном времени, предпринятых организационных усилиях, больше всего людей демотивирует то, что они смогли выйти на новый масштаб, а MMO не смогла. И людям нельзя просто сказать «поумерьте аппетиты, серверы не выдерживают». Какой сейчас будет эффект домино, сложно сказать, но он точно будет.
Вообще, все графики доступны любому желающему, даже не играющему на нашем сервере, по адресу eco.mmozg.net. Но я с удовольствием приведу текущую статистику.
Мы поднялись выше 2k, что открыло возможности сбора для тех, чьё благосостояние меньше 5 000 каури. Это, соответственно, привело к активному сбору ракушек и возобновлению эмиссии (то есть к росту денежной массы). Что и было нашей целью. Так что график лучше будет смотреться с информацией о том, сколько новых Каури было напечатано.
Единственной причиной всё это время называлась цена использования облачных сервисов. Наверное, началось всё ещё в декабре 2017 года, когда проект переехал с AWS на GCP:
Google Cloud Platform: When we started down the adventure of making an MMORPG, there weren’t many options when it came to cloud hosting. That has changed, and we’re evaluating some other offerings. We’ve used Amazon’s AWS for a long time, and we’re investigating others, especially GCP, Google’s Cloud Platform. Supporting multiple platforms make us more flexible, with more choices for features and price points. Currently, GCP looks like a great opportunity to potentially do some really cool things for Backers who are located further away from our main hub (such as West Coast USA, Europe, Asia, and the Pacific) and save City State a bunch of money while doing so. All of this hinges on getting our code talking to their servers and testing it, and that’s what we’re working on now.
Wylie started looking into switching our servers from Windows to Linux. This change will allow us to scale to a higher server count and will help with server costs.
Но нужно заметить, что это совпало с работами над оптимизацией серверной части:
Server performance: Now that we have done a bunch of testing on worst-case scenarios, Rob is trying to get a more accurate performance profile for the server so we can continue to increase performance while reducing server costs. A win on both sides!
Ну, и нужно заметить, что у них довольно много параллельных серверов с разными версиями кода и разными доступами к ним. Когда возникла такая структура, я, откровенно говоря, не помню, но она им явно помогает сравнивать разные подходы, тестировать и плавно переходить к нестабильным билдам.
А есть подробности почему решили переходить на линукс? Подозреваю, что они начинали делать монолит а потом поняли, что такие масштабы надо пилить на микросервисах, поскольку нужна гибкая горизонтальная масштабируемость. А микрософт в микросервисы все таки ещё не очень хорошо умеет, и спецов и софта под это дело мало и они дорогие.
А мне наоборот нравится. Мне не нравится что слишком много контента, которые дает разные цепочки, и если тебе что-то надо, приходится бегать весть контент или покупать услуги, что не удобно и опасно.
Хотя сейчас вроде стали делать больше пересечений, вроде того, что в новом контенте можно получать что-то из старого, но этого все равно не достаточно.
я кстате именно из-за этого в итоге забил на ПОЕ, не должен хакэндслеш, этакая гриндилка, убей все что видишь, иметь сложный многоступенчатый крафт, и если с лутом еще как-то можно бороться путем фильтров, то вот с миллионом всяких полезных штук уже нет.
я все же предпочитаю конкретную систему вещей, и раз уж это H&S, то что-то отвлекающее тебя от процесса истребления миллиардов мобов должно выпадать раз в полчасика, а не горкой с каждого моба.
Про то стало ли лучше немогу ничего сказать, так как начал уже сейчас, а то, что было видел только в роликах на Ютубе. Однако вот пока бегаю, если сильно персов не приближать) то выглядит все более чем достойно.
Когда в таких условиях игроки пробовали прыгнуть из одной системы под сильной нагрузкой в другую, испытывающую аналогичные проблемы, они сталкивались с очень странными явлениями.
По описанию выглядит так, будто этот случай разработчики упустили при разработке фич для масштабирования (замедления времени и т.п.). Похоже случился рассинхрон времени между разными сервисами: общеигровыми и отвечающими за конкретные звёздные системы. Возможно, было 3 или 4 разных шкалы времени (одна общая и 2-3 для замедленных систем).
С одной стороны понятно, что случай редкий, сложный, его и забыть просто могли. Или со временем выпал из тестирования.
С другой, забывать всё-таки не должны были. Если уж есть механика рассинхрона времени, то надо было предусмотреть какой-нибудь рубильник на случай выявления неконсистентности игрового времени. А выявление это автоматизировать.
MS SQL — хорошая добротная база данных, которая составила очень неплохую конкуренцию Ораклу. Виндовый сервер — самый распространённый сервер, правда львиная доля — в корпоративном сегменте. Последние сервера, мало того, что умеют не включать графическую подсистему, так ещё и ядро подгружают не целиком (не настолько же гибко, как в линухах, но всё же). В общем, ничего криминального, что они сначала решили делать сервера на винде — нет. Но потом понабрали любителей Линукса. ;) Шучу. Я к тому, что с производительностью это вряд ли сильно связано. В облаке винда и правда дороже примерно в 2 раза.
Ну к слову, там и не должно быть в вычислительном плане каких-то больших проблем. Если они пишут под виндой как основной платформой, то логично иметь возможность кроскомпиляции под другие.
Скорее всего они ппосто до этого не занимались сборками под другие платформы. Чисто из-за неудобства, а не по какой-то ещё причине.
Вообще не близко. Уровень абстракции на таких вещах практически нулевой. Ассемблера там может быть больше, чем Си.
А сокеты кросплатформенные сейчас на достаточном уровне, чтоб не заморачиваться так.(мы и многие другие пользуют тот же Enet, который отлично себя зарекомендовал)
Я хз. Для меня сложные онлайн сервисы это постоянные транзакции в БД, чтение активное, сложная распределенная разноуровневая/разноранговая сеть, но никак не несколько машин с серверами-локациями ММО.))
Случай, увы, совсем не редкий и используемый в EVE с начала времён: силы, находящиеся в обороне, получают преимущество, благодаря тому, что их состояние серверная часть более-менее переварила, а вот пытающихся зайти в систему — нет. Известны случаи намеренного провоцирования лагов на стороне сервера, когда специальные пространственные метки в виде физических предметов (bookmark) вызывали повышенную нагрузку на сервер. Некоторые пилоты использовали их по команде для того, чтобы в момент входа вражеского флота искусственно создать лаги, мешающие прогрузке планетарной системы и состояния «грида» для тех, кто пропрыгивает в систему.
То есть вот эта асимметричность возможностей для тех, кто находится в определённой системе, и тех, кто в неё пытается попасть, из-за того, что игровое пространство, фактически, разделено на отдельные части, чуть ли не главная проблема любого массового боя в EVE. И, думаю, что этот не стал исключением, потому что все потери на стороне тех, кто пытался войти в M2.
На комплексный анализ я не претендую, но со стороны кажется, что у ситуации есть куда более масштабные последствия: война в EVE держится на морали, и вот именно мораль атакующих в нынешней войне битва в M2, показавшая практически нерешаемую в техническом плане проблему, здорово подкосила. Сил потрачено много, а результат вылетел в трубу, и вылетит в следующий раз, когда нужно будет защитить ключевую базу на финальном таймере.
CCP правы в том, что масштаб противостояния вышел на новый уровень. Но не стоит забывать о том, что полтора года компания намеренно борется с мирной жизнью в нулях, не говоря уже об отсутствии новых механик для мирной жизни и освоения диких территорий. То есть остаётся только война. Но и война в прежнем формате в конце второго десятилетия истории мира всем порядком надоела. Эта война была особенной исключительно из-за масштаба. И как раз в этом масштабе она захлебнулась на техническом уровне. Это, судя по отзывам некоторых участников, сильно демотивирует. Не говоря уже о понесенных зря потерях, потраченном времени, предпринятых организационных усилиях, больше всего людей демотивирует то, что они смогли выйти на новый масштаб, а MMO не смогла. И людям нельзя просто сказать «поумерьте аппетиты, серверы не выдерживают». Какой сейчас будет эффект домино, сложно сказать, но он точно будет.
Мы поднялись выше 2k, что открыло возможности сбора для тех, чьё благосостояние меньше 5 000 каури. Это, соответственно, привело к активному сбору ракушек и возобновлению эмиссии (то есть к росту денежной массы). Что и было нашей целью. Так что график лучше будет смотреться с информацией о том, сколько новых Каури было напечатано.
Google Cloud Platform: When we started down the adventure of making an MMORPG, there weren’t many options when it came to cloud hosting. That has changed, and we’re evaluating some other offerings. We’ve used Amazon’s AWS for a long time, and we’re investigating others, especially GCP, Google’s Cloud Platform. Supporting multiple platforms make us more flexible, with more choices for features and price points. Currently, GCP looks like a great opportunity to potentially do some really cool things for Backers who are located further away from our main hub (such as West Coast USA, Europe, Asia, and the Pacific) and save City State a bunch of money while doing so. All of this hinges on getting our code talking to their servers and testing it, and that’s what we’re working on now.
Конкретные работы по миграции начались в июле 2019 года:
Wylie started looking into switching our servers from Windows to Linux. This change will allow us to scale to a higher server count and will help with server costs.
Но нужно заметить, что это совпало с работами над оптимизацией серверной части:
Server performance: Now that we have done a bunch of testing on worst-case scenarios, Rob is trying to get a more accurate performance profile for the server so we can continue to increase performance while reducing server costs. A win on both sides!
Ну, и нужно заметить, что у них довольно много параллельных серверов с разными версиями кода и разными доступами к ним. Когда возникла такая структура, я, откровенно говоря, не помню, но она им явно помогает сравнивать разные подходы, тестировать и плавно переходить к нестабильным билдам.
Хотя сейчас вроде стали делать больше пересечений, вроде того, что в новом контенте можно получать что-то из старого, но этого все равно не достаточно.
я все же предпочитаю конкретную систему вещей, и раз уж это H&S, то что-то отвлекающее тебя от процесса истребления миллиардов мобов должно выпадать раз в полчасика, а не горкой с каждого моба.
По описанию выглядит так, будто этот случай разработчики упустили при разработке фич для масштабирования (замедления времени и т.п.). Похоже случился рассинхрон времени между разными сервисами: общеигровыми и отвечающими за конкретные звёздные системы. Возможно, было 3 или 4 разных шкалы времени (одна общая и 2-3 для замедленных систем).
С одной стороны понятно, что случай редкий, сложный, его и забыть просто могли. Или со временем выпал из тестирования.
С другой, забывать всё-таки не должны были. Если уж есть механика рассинхрона времени, то надо было предусмотреть какой-нибудь рубильник на случай выявления неконсистентности игрового времени. А выявление это автоматизировать.
Скорее всего они ппосто до этого не занимались сборками под другие платформы. Чисто из-за неудобства, а не по какой-то ещё причине.
А сокеты кросплатформенные сейчас на достаточном уровне, чтоб не заморачиваться так.(мы и многие другие пользуют тот же Enet, который отлично себя зарекомендовал)
Я хз. Для меня сложные онлайн сервисы это постоянные транзакции в БД, чтение активное, сложная распределенная разноуровневая/разноранговая сеть, но никак не несколько машин с серверами-локациями ММО.))