General Purpose Tournament Server

What do you want to see in Armagetron soon? Any new feature ideas? Let's ponder these ground breaking ideas...
User avatar
sinewav
Graphic Artist
Posts: 6413
Joined: Wed Jan 23, 2008 3:37 am
Contact:

General Purpose Tournament Server

Post by sinewav »

This is posted in the Development forum because we need the community to get behind it. After today's dismal Ladle (107) it is clear we need a new way to approach competitive team games. We actually had quite a few players show up, but we were not able to organize effectively. I have previously suggested outfitting a server with a script that makes ad-hoc organization easier, borrowing from the highly successful #pickup system.

Below is the beginning of a blueprint. There are a few things to note. First, this is not #pickup grafted onto a server. It will be distinctly different. Second, I personally have no experience with scripting servers and have no idea how feasible this idea is. That's why the whole community needs to get involved in some capacity so we can sculpt a tool to extend the life of competitive Armagetron indefinitely.

Fortunately, most of what we need on a basic level already exists and should not be hard to implement. This proposed server, at the very least, must have the ability to raise the authority of a designated player high enough to promote Team Leaders and INCLUDE configuration files. We can take a hint from #pickup's /vote referee <player> function to accomplish the first task this server is responsible for:

Code: Select all

/promote <player>
	Initiates a vote. Once completed, the named player will be able to grant
	Team Leader status and invclude game configurations using the /load
	command (below).
	
/load <game>
	This calls a game configuration, probably a file that first loads default
	settings then loads the desired game, such as Fortress, CTF, WST, TST, etc...
The second function of the General Purpose Tournament Server is to facilitate picking of teams. This is where we diverge from #pickup.

Pickup had it's share of problems. First, players often rejected the responsibility of Team Leader, which wasted a lot of time. Speaking of time, #pickup matches would not start unless a certain number of people !add'ed. This method is unnecessary with a server already full of people. Second, the task of picking teams often delayed #pickup matches by 20 minutes or more. We can build team randomization right into the server. (I suspect in most cases randomization is just as good as Team Leaders who don't know what they are doing.)

My vision of an ad-hoc tournament server would allow a player to initialize a game, thus starting a 10 minute countdown. Within that time players can declare their intention to play and if they would like to be a Team Leader. At the end of the countdown, the server randomizes players into teams based on the game type chosen. We can do this with only a few commands:

Code: Select all

/init <game>
	Initiates a 10 min countdown for a game such as Fort, CTF, WST, TST, etc...
	The server will output messages reminding players how much time is left,
	then display the results of team randomization.

/add <leader|blank>
	Players can add themselves or pass the "leader" argument declaring their
	intention to fill the role of Team Leader.

/remove
	Naturally, we need a way for players to exit the process
Since the game initialization will be based on time rather than number of players, what happens if there are an irregular number of players? Answer: the latest to declare get dropped and become substitutes. First come, first serve!

If anyone has experience designing servers with this kind of functionality, please, please share your knowledge. I don't have a lot of time but I will do what I can to move this forward. If we are lucky we can have a prototype up in several weeks. This will allow us to continue Ladle Fortress, but also resurrect other games with little or no planning involved.


*Maybe we can come up with a clever name that abbreviates well, unlike GPTS...
User avatar
aP|Nelg
Match Winner
Posts: 621
Joined: Wed Oct 22, 2014 10:22 pm
Contact:

Re: General Purpose Tournament Server

Post by aP|Nelg »

The /vote referee is not a script, it is an 0.4 feature.
User avatar
sinewav
Graphic Artist
Posts: 6413
Joined: Wed Jan 23, 2008 3:37 am
Contact:

Re: General Purpose Tournament Server

Post by sinewav »

aP|Nelg wrote:The /vote referee is not a script, it is an 0.4 feature.
That's great news! We can check it off the list.
User avatar
Light
Reverse Outside Corner Grinder
Posts: 1667
Joined: Thu Oct 20, 2011 2:11 pm

Re: General Purpose Tournament Server

Post by Light »

sinewav wrote:
aP|Nelg wrote:The /vote referee is not a script, it is an 0.4 feature.
That's great news! We can check it off the list.
Good luck with that, though. People are far too reluctant to use 0.4, for some reason.
User avatar
sinewav
Graphic Artist
Posts: 6413
Joined: Wed Jan 23, 2008 3:37 am
Contact:

Re: General Purpose Tournament Server

Post by sinewav »

Light wrote:People are far too reluctant to use 0.4, for some reason.
It's a feature on the server, right? I was able to use /vote referee in #pickup using 0.2.x clients.

What about other #pickup features like /ready and the warmup state?
User avatar
Light
Reverse Outside Corner Grinder
Posts: 1667
Joined: Thu Oct 20, 2011 2:11 pm

Re: General Purpose Tournament Server

Post by Light »

sinewav wrote:
Light wrote:People are far too reluctant to use 0.4, for some reason.
It's a feature on the server, right? I was able to use /vote referee in #pickup using 0.2.x clients.

What about other #pickup features like /ready and the warmup state?
I'm not really sure if it requires the 0.4 client or not. I guess commands really shouldn't, so only server owners would need to run 0.4, which still might be a bit of a struggle.
Monkey
Match Winner
Posts: 759
Joined: Thu May 22, 2008 12:36 am
Location: England, UK

Re: General Purpose Tournament Server

Post by Monkey »

I'm pretty sure that /vote, /ready and chums works with either a 0.4 or 0.2.X client because I've played #pickup with both client versions. As for whether or not they are built into the server or are scripted, I'm not sure.

0.4 has not yet been officially released as the de facto stable version to use and hence many people stick with 0.2.X. There are also some (incorrect) rumours that the 0.4 client sucks but these are being spread by, at least in some cases, people that have never even used it; I have seen evidence of this first hand. The 0.4 client is, in my opinion, better than the 0.2.X one by a long way. Try it if you can and get used to the new glances because they are both more customisable and better than those in 0.2.X. I've used both clients and have noticed no more bugs in 0.4 than in 0.2.X. I've also noticed no FPS drop from 0.2.X to 0.4, in fact, 0.4 is possibly even slightly smoother than 0.2.X, bearing in mind that FPS is critical to me due to my operating system and the graphics drivers available to it.

As for sine's idea and hence what this thread is about, I believe we need to take it even further. In my opinion, tournaments should be fully integrated directly into the client and server (in an abstract a way as possible if that makes sense). I remember Flex saying this to me a long time ago and I agree with him completely. It should be obvious now to most people that this is by far the best way to do things.
Playing since December 2006
User avatar
kyle
Reverse Outside Corner Grinder
Posts: 1876
Joined: Thu Jun 08, 2006 3:33 pm
Location: Indiana, USA, Earth, Milky Way Galaxy, Universe, Multiverse
Contact:

Re: General Purpose Tournament Server

Post by kyle »

Those options are on the 0.4 based server. The client used to connect does not matter. However some beta client builds (0.3 I think) do not work with the updated 0.4. servers.
Image
User avatar
aP|Nelg
Match Winner
Posts: 621
Joined: Wed Oct 22, 2014 10:22 pm
Contact:

Re: General Purpose Tournament Server

Post by aP|Nelg »

Light wrote:
sinewav wrote:
aP|Nelg wrote:The /vote referee is not a script, it is an 0.4 feature.
That's great news! We can check it off the list.
Good luck with that, though. People are far too reluctant to use 0.4, for some reason.
0.2 clients can still work in an 0.4 server
User avatar
Light
Reverse Outside Corner Grinder
Posts: 1667
Joined: Thu Oct 20, 2011 2:11 pm

Re: General Purpose Tournament Server

Post by Light »

aP|Nelg wrote:0.2 clients can still work in an 0.4 server
I'm aware of that, given certain features are not used. I was just unsure of everything that required the newer client. Either way, it would require server hosts to use 0.4, which for some isn't even possible because most hosts aren't using 0.4, so they would need to be doing it themselves.
User avatar
aP|Nelg
Match Winner
Posts: 621
Joined: Wed Oct 22, 2014 10:22 pm
Contact:

Re: General Purpose Tournament Server

Post by aP|Nelg »

Light wrote:
aP|Nelg wrote:0.2 clients can still work in an 0.4 server
I'm aware of that, given certain features are not used. I was just unsure of everything that required the newer client. Either way, it would require server hosts to use 0.4, which for some isn't even possible because most hosts aren't using 0.4, so they would need to be doing it themselves.
Getting 0.4 up and running isn't too hard however, but there are features that were in 0.2.9 sty, sty+ct, and sty+ct+ap which have not worked their way into 0.4 (such as SPAWN_ZONE).
User avatar
vov
Match Winner
Posts: 568
Joined: Thu Feb 17, 2011 8:40 pm

Re: General Purpose Tournament Server

Post by vov »

So right now I see 2 possibilities:
1. v0.4 server using referee and ready to start matches; the referee can be easily given access to /admin include.
+ Stuff works out of the box and just needs games to /admin include present in the server's config directory.
- No CTF or sty functions, less scriptable stuff.

2. v0.2(sty) server, with replacements for referee and ready scripted
+ Script can be adapted for everything and expanded with functions like the "10 minutes till the match"
- Needs the same effort as solution 1, with addition of the organizer script which takes quite a bit of effort


If this is about fortress, sumo and deathmatch, the v0.4 server does it just fine (like pickup, with refs also allowed to set a game type). That said, I really like the idea of "10 minutes until it starts" which would most likely need a script. Randomized teams can be done on both versions (v0.4 - scramble, v0.2-sty - scripted).
A script replacing v0.4's functionality on sty servers is definitely doable but, well, it's not there right now ready to use (that said, I'd help making one).
User avatar
Light
Reverse Outside Corner Grinder
Posts: 1667
Joined: Thu Oct 20, 2011 2:11 pm

Re: General Purpose Tournament Server

Post by Light »

vov wrote:Needs the same effort as solution 1, with addition of the organizer script which takes quite a bit of effort
Comparing them two and calling them equal is a little insane. For the script, assuming most hosts are using sty+ct already, they would copy and paste a file and adding SPAWN_SCRIPT to the config file. For option 1 they would need to download, configure and build the server, which is much more time consuming.

If going the route of a script, it also gives the option to create a self-updating script, and lets you customize everything else quite a bit. Maybe moderator requests could be done from a command instead of getting someone that's on IRC to get someone to come to your server. That's just one example.

This is without knowing what the current Ladle servers are running. I just assume they're all, or mostly all on sty+ct. If they're on 0.4 already, then option 2 is far more work, but could still result in a better, self running tournament server.
User avatar
kyle
Reverse Outside Corner Grinder
Posts: 1876
Joined: Thu Jun 08, 2006 3:33 pm
Location: Indiana, USA, Earth, Milky Way Galaxy, Universe, Multiverse
Contact:

Re: General Purpose Tournament Server

Post by kyle »

mine are pure 0.2.(8|9), but I could use 0.4 (really makes no difference for me) All my servers use independent binaries :)
Image
User avatar
compguygene
Adjust Outside Corner Grinder
Posts: 2342
Joined: Thu Aug 21, 2008 12:09 pm
Location: Cleveland, Ohio
Contact:

Re: General Purpose Tournament Server

Post by compguygene »

mine are sty ct but could be whatever is needed.
Armagetron: It's a video game that people should just play and enjoy :)
https://bit.ly/2KBGYjvCheck out the simple site about TheServerPharm
Post Reply