My initial system will do the following: Enforce ship limits in the way that everyone expects. Can't play in ships you don't own, etc. Try to balance teams by exp. If a team becomes unbalanced (within some number), it will select players to move based on how well their movement will help bring balance and also based on how long they've been a part of the team. Publics are only balanced with respect to other publics. Players will never be moved from a public to a small private to make it balanced. Privates can never exceed both the balanced publics and the balanced privates (need to account for the possibility of having privates with no real public teams existing). To even private frequencies WRT other privates, players will be pulled from privates and moved to a public. I may need additional code to allow a single pub when large privates exist, but I'm not sure how it could be implemented. I will not be implementing the dynamic priv sizing proposed because of complexity and the fact that I'm not sure how much benefit it would provide. I will try to implement a lock when the flag game is winnable, but probably only prevent people from hopping to the winning team (not preventing them from moving to a losing team). It will not be part of the initial system, however.