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