серверный вопрос
Добавлено: 22 авг 2018, 01:17
Тот самый вопрос, которым часто задаются игроки: «Какое число онлайна на сервере оптимально? 90? 100?» Но что, если задаться другим вопросом: «Как увеличить это число?» Я не знаток в делах распределения информационных ресурсов, но, покопавшись в гугле и пообщавшись с мастерами кода, всё-таки сумел сложить впечатление об этом деле и предложить возможные улучшения. Назовём это рабочий сервер. Суть заключается в следующем. Есть, к примеру, главный сервер, где хранятся данные всех игроков. К нему нужно создать несколько рабочих серверов, которые будут автоматически распределять игроков (по мере своей загруженности), запрашивая данные об этих игроках с главного сервера. Именно на них (рабочих серверах) будут играть пользователи. Но я говорю не о полной изоляции игроков, а лишь о разделении серверов, работающих с данными об отдельных героях в онлайне (назовём это-- сервер-город). Когда же игрок уходит в оффлайн, рабочий сервер передаёт все изменения на главный сервер для хранения. При этом логичным представлялось бы сервер-карту разделить на отдельные сервера по уровням: например, 1-3,4-6, 7-9 и т. д. Игроки, которые находятся на смежных уровнях (например, 3-4), не смогут создать партию на карте, но они смогут это сделать в городе. А при выходе на карту этих игроков выборочно закинуло бы на сервер-карту 1-3 или 4-6 уровней. Также дублировать сервер битв. «Мини-сервера» битв тоже распределяли бы игроков по мере загруженности. А еще создать отдельный сервер для битв на арене и пвп (ведь они должны иметь самый быстры отклик). Это бы разгрузило игру и увеличило оптимальное количество онлайна. Но при всем этом разделении нужно чат, рынок, аукцион и арену для всех серверов оставить общими, но возможно придётся увеличить их пропускную способность. Графически выглядит понятней:

https://ru.files.fm/u/k2sqsqsw
Поэтапно игрок заходил бы так: сначала персонализация в хранилище, затем хранилище перенаправляет его с данными о героях на сервер-город, с него если он был на карте перемещало бы на выбранную сервером карту по сохранённым при выходе из игры координатам.
Главная проблема при всех этих новшествах, что при этом они потребуют увеличение вычислительной мощности и более широкополосного интернет-соединения, но эти изменения создадут возможность увеличения оптимального онлайна при наплыве новых игроков, то есть при увеличении количества игроков нужно будет просто увеличить количество серверов. Это окупится, так как количество игроков которые не могу поиграть в игру из-за слабого сервера очень большое, но главное, по моему мнению, это вдохнёт в проект новую жизнь.
https://ru.files.fm/u/k2sqsqsw
Поэтапно игрок заходил бы так: сначала персонализация в хранилище, затем хранилище перенаправляет его с данными о героях на сервер-город, с него если он был на карте перемещало бы на выбранную сервером карту по сохранённым при выходе из игры координатам.
Главная проблема при всех этих новшествах, что при этом они потребуют увеличение вычислительной мощности и более широкополосного интернет-соединения, но эти изменения создадут возможность увеличения оптимального онлайна при наплыве новых игроков, то есть при увеличении количества игроков нужно будет просто увеличить количество серверов. Это окупится, так как количество игроков которые не могу поиграть в игру из-за слабого сервера очень большое, но главное, по моему мнению, это вдохнёт в проект новую жизнь.