MCP: tournament management master control program

What do you want to see in Armagetron soon? Any new feature ideas? Let's ponder these ground breaking ideas...
Post Reply
User avatar
Z-Man
God & Project Admin
Posts: 11710
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

MCP: tournament management master control program

Post by Z-Man »

Right :) Let's discuss whether it is possible, and if yes, how.

The way I see it, instead of having the MCP be some sort of web app servers communicate with, it could be a fake game client. Server support would then just be protobuf and eEvent; suitable eEvents for match wins etc. need to be sent, of course.

What would the MCP's functions be, then?
1. It would need to have a database of teams and their players and the teams' home server group (US vs. EU)
2. During the tournament, it would need to be connected to all available servers.
3. It would need to authenticate itself to the servers and be granted admin rights.
4. It would randomize teams and servers right before the first round starts.
5. It would set the server names and team names according to the game scheduled on each server, so everyone knows where to go.
6. It would remove players joining wrong teams.
7. It would either start the games on schedule or, if an admin is present, wait for his command.
8. It would keep track of scores, inform players about them (either via the team name hack or round center messages) and declare game winners.
9. It would post here about the game results and pending games.
10. It would propagate game winners to the next round and repeat at step 5 (legs would be independent, of course), telling teams where to go.

'course, a bleeding edge server that doesn't exist yet would be required, but all the other special case code would reside in the MCP, with the server just being a dumb slave. What better time to test new server code than during tournaments? ;)

Dunno, but that sounds doable. The difficult bit would be that the complete current tournament state would need to be saved in files/databases at all times, so the program can continue in case of crashes and other accidents.
Pink Tomatoes
Average Program
Posts: 61
Joined: Fri Jul 25, 2008 11:24 am

Re: MCP: tournament management master control program

Post by Pink Tomatoes »

Z-Man wrote:10. It would propagate game winners to the next round and repeat at step 5 (legs would be independent, of course), telling teams where to go.
Could it use KICK_TO the new server? That might make it quite seamless. Unless KICK_TO increases the ban score, which would not be good.

Announcing the winners of a round as a global message could be a consideration.
Z-Man wrote:6. It would remove players joining wrong teams.
If I remember correctly, sty+ct can set a player's team, which should make team management very easy. I think to make team management automated we might need to force authentication for tournaments?

Would wtrlprnft's PHP client be capable enough to do this?
User avatar
Z-Man
God & Project Admin
Posts: 11710
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Re: MCP: tournament management master control program

Post by Z-Man »

Pink Tomatoes wrote:Could it use KICK_TO the new server? That might make it quite seamless. Unless KICK_TO increases the ban score, which would not be good.
There's the cousin MOVE_TO which does not affect the ban score. Good idea.

Custom team names are also a part of trunk servers and clients. And yeah, enforcing team assignment would require that everyone armathenticates. I'm not pushing that, merely pointing out a possible feature :)
epsy
Adjust Outside Corner Grinder
Posts: 2003
Joined: Tue Nov 07, 2006 6:02 pm
Location: paris
Contact:

Re: MCP: tournament management master control program

Post by epsy »

User avatar
Z-Man
God & Project Admin
Posts: 11710
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

FAIL at acronyms. Match Coordination Program would be the name. Fix it! :)
epsy
Adjust Outside Corner Grinder
Posts: 2003
Joined: Tue Nov 07, 2006 6:02 pm
Location: paris
Contact:

Post by epsy »

Well, that article only wants to define the user UI on the game server side and communication protocol to the game master.

I intended it as a module, first because that's a good thing to kickstart something with modules, and secondly because running two dozen of clients on the game master would be too whacky.

I let the Game Master UI not specified on purpose, so that people can come up with personal Game Masters just as well as a whole interplanetar gaming consortium website.

Now protobuf and eEvent seem quite of a requirement :)

I've pushed my barely started modules branch to launchpad, feel free to push it faster than me. It is barely documented but you should get the idea.

PS: It also really adds the dependency to boost, and also uses libtool
Last edited by epsy on Mon Mar 02, 2009 11:02 pm, edited 1 time in total.
Luke-Jr
Dr Z Level
Posts: 2246
Joined: Sun Mar 20, 2005 4:03 pm
Location: IM: luke@dashjr.org

Post by Luke-Jr »

Does anyone feel that some kind of Armagetron client library would be a good idea? I know we have at least two "clients" using wrtl's PHP library, so perhaps something based on that (except cross-language)? Maybe this needs a new thread...
User avatar
ed
Match Winner
Posts: 613
Joined: Mon Feb 13, 2006 12:34 pm
Location: UK

Post by ed »

I'd love to see that in action.
An overseeing program sending out a droids to each of the servers, organising and organising matches then reporting results back to their master awaiting further instructions. Possibly even making recordings while they are there. Moving players around to servers they need to be on next.
With a place on the internet where progress of the tournament can be viewed in near real time.
If the tournament is to reach one million players (hi 2020 ;) ), I believe something like this would need to be in place.

Although the ladle tournaments do run fairly smoothly these days, they do rely on several key people ensuring this is the case. This would take a lot of the pressure off the admins and more on the players to organise themselves effectively.

I have a server and a little time, if I can help, let me know.

ot: what is wrtl's php client all about?
User avatar
Z-Man
God & Project Admin
Posts: 11710
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

wrtl's client only talks to the master server, IIRC. But yes, for protobuf servers, it would definitely be a good idea to have a foundation python client that knows some basics about the game element structure and handles the low level stuff (login, acks, managing objects).
User avatar
wrtlprnft
Reverse Outside Corner Grinder
Posts: 1679
Joined: Wed Jan 04, 2006 4:42 am
Location: 0x08048000
Contact:

Post by wrtlprnft »

My client can also connect to regular servers in a hacky way. My vanilla version can chat and/or get all the player and team objects (for example to build a score table).

Luke-Jr has improved it a bit, I'm not sure what else his version can do, but it does handle authentication.
There's no place like ::1
Post Reply