Lobby client: support for 32 players
Moderator: Moderators
Lobby client: support for 32 players
Spring supports 32 players, right?
So why not make lobby client also support 32 players?
I wanna see some really big games... ^^
So why not make lobby client also support 32 players?
I wanna see some really big games... ^^
-
- Posts: 665
- Joined: 06 Jun 2006, 19:49
There are 2 bottlenecks here:
TASClients GUI
TASClients protocol
the server protocol stores ally and team sides in bitfields. You'd have to increase the number of bits allocated to these bitfields or use a more 'sane' method of storing the data such as an integer rather than a bitfield.
Also, team 17 is GAIA, so the natural limit is 16, however there's nothing stopping a lobby from allocating teams 1-32 once the protocol limitation is removed.
TASClients GUI
TASClients protocol
the server protocol stores ally and team sides in bitfields. You'd have to increase the number of bits allocated to these bitfields or use a more 'sane' method of storing the data such as an integer rather than a bitfield.
Also, team 17 is GAIA, so the natural limit is 16, however there's nothing stopping a lobby from allocating teams 1-32 once the protocol limitation is removed.
The Gaia team isn't actually 17 (or 16, using the 0 indexing).
If a LuaGaia script is running, it actually adds one more team
after all the real teams and uses that for its number. This
reduces the amount of time spent looping because of
gs->activeTeams. As far as I know, LuaGaia is the only feature
that uses the extra slot. The team number used by LuaGaia is
recorded in gs->gaiaTeamID.
P.S. For features, the "gaia" allyteam is -1, and the team is 0
(for drawing, FLOZi's recent addition). All of this team index
handling should probably be cleaned up.
P.P.S. Hm, it might be that lua start scripts that create units
with a team of -1 use the (MAX_TEAMS - 1) Gaia slot as well.
I'm not sure though, doesn't appear that gs->activeTeams takes
that into account. Again, probably time for a cleanup
If a LuaGaia script is running, it actually adds one more team
after all the real teams and uses that for its number. This
reduces the amount of time spent looping because of
gs->activeTeams. As far as I know, LuaGaia is the only feature
that uses the extra slot. The team number used by LuaGaia is
recorded in gs->gaiaTeamID.
P.S. For features, the "gaia" allyteam is -1, and the team is 0
(for drawing, FLOZi's recent addition). All of this team index
handling should probably be cleaned up.
P.P.S. Hm, it might be that lua start scripts that create units
with a team of -1 use the (MAX_TEAMS - 1) Gaia slot as well.
I'm not sure though, doesn't appear that gs->activeTeams takes
that into account. Again, probably time for a cleanup

- Felix the Cat
- Posts: 2383
- Joined: 15 Jun 2005, 17:30
I might be able to run a 32 player game with my machine, actually, and mine isn't the best in the community. That is, if everybody else in the game is on the U.S. Western Seaboard with a high speed connection, and at least 768 MB RAM/256 Video RAM/2.8 GHz Processor Speed.
Of course, that is a rough estimate.
Of course, that is a rough estimate.