172 похожих чатов

Добрый день. У меня есть мультиплеер игра и один сервер.

У некоторых юзеров из других стран из-за этого очень долго идут запросы. Если подниму сервер в их регионе, то у меня будут два инстанса и юзеры не смогут играть друг с другом. Подскажите как объединить правильно сервера в кластер и как вообще гуглить такую проблему?

20 ответов

19 просмотров

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

denis
обычно так и происходит: люди на разных серверах н...

у меня слишком маленький dau, чтобы поднимать второй сервак, но слишком большой network latency чтобы юзеры могли спокойно играть друг с другом... что делать?

🤴👷‍♂️🦸‍♂️🧚‍♀️
у меня слишком маленький dau, чтобы поднимать втор...

Приобрести сервак по середине, чтобы +- был один и тот же пинг)

🤴👷‍♂️🦸‍♂️🧚‍♀️
у меня слишком маленький dau, чтобы поднимать втор...

Зачем же так на 12к человек рассказывать что у тебя маленький dau

🤴👷‍♂️🦸‍♂️🧚‍♀️
а что не так?

это был сарказм и сравнение с членом. все ок.

А какое взаимодействие предполагается? Например, у GGG интересная задумка в PoE, когда прогресс хранится на общем сервере, а инстансы на разных серверах, и неудобства испытывает только "гость" с другого региона, если присоединяется к другому игроку

тут скорее думать надо, насколько критично для тебя latency. Если у тебя условный шутан, то тебе ничего не поможет, кроме размещения серверов поближе к игрокам. Можно ещё подумать про P2P, но там свои нюансы. Можно подумать над тем, чтобы latency попытаться "замаскировать" различными способами

Alexander "SonnySlave" Zaitsev
нет. CDN здесь тебе ничем не поможет

а можно узнать почему, просто я не знаю ничего про эту область

🤴👷‍♂️🦸‍♂️🧚‍♀️
а можно узнать почему, просто я не знаю ничего про...

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

Alexander "SonnySlave" Zaitsev
потому что CDN не делает никакого волшебства - он ...

но может же быть проблема с количеством узлов?

Alexander "SonnySlave" Zaitsev
не понял, что за проблема

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

🤴👷‍♂️🦸‍♂️🧚‍♀️
ну то есть у юзера из азии/европы фиговый мобильны...

Проксированием это частично можно решить, но всё ещё основной момент - это география

🤴👷‍♂️🦸‍♂️🧚‍♀️
ну то есть у юзера из азии/европы фиговый мобильны...

ну так размещай сервер поближе к нему и будет меньше узлов. CDN тут не подойдет ибо у тебя не статика

🤴👷‍♂️🦸‍♂️🧚‍♀️
ну то есть у юзера из азии/европы фиговый мобильны...

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

🤴👷‍♂️🦸‍♂️🧚‍♀️
ну то есть у юзера из азии/европы фиговый мобильны...

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

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта