Ladle 107

A place for threads related to tournaments and the like, and things related too.

Moderator: Light

User avatar
vov
Match Winner
Posts: 568
Joined: Thu Feb 17, 2011 8:40 pm

Re: Ladle 107

Post by vov »

This is a good set of rules to make it run better next time. I had fun though. :P
User avatar
sinewav
Graphic Artist
Posts: 6413
Joined: Wed Jan 23, 2008 3:37 am
Contact:

Re: Ladle 107

Post by sinewav »

Monkey, I want to give you feedback on your post but I'm a little pressed for time. Hopefully this weekend I'll be able to write something.
Monkey
Match Winner
Posts: 759
Joined: Thu May 22, 2008 12:36 am
Location: England, UK

Re: Ladle 107

Post by Monkey »

@sinewav
Ok.

I'm going away on holiday for a week after which I will be back to continue my part in this discussion and maybe put some polls up if people are happy with that. Until then, keep the discussion going! :)
Playing since December 2006
User avatar
Magi
Match Winner
Posts: 634
Joined: Fri Oct 21, 2011 9:35 pm

Re: Ladle 107

Post by Magi »

I'm getting a little bit more active again I guess so I may be inclined to help organize stuff but I can't guarantee anything with my schedule
Image Image Image Image Image Image Image Image Image
Image

bye
User avatar
Plee
On Lightcycle Grid
Posts: 16
Joined: Sat Nov 10, 2012 11:08 am

Re: Ladle 107

Post by Plee »

Magi wrote:I'm getting a little bit more active again I guess so I may be inclined to help organize stuff but I can't guarantee anything with my schedule
#gamingschedule
Image
User avatar
sinewav
Graphic Artist
Posts: 6413
Joined: Wed Jan 23, 2008 3:37 am
Contact:

Re: Ladle 107

Post by sinewav »

I finally got a chance to digest this post. Here is what I have to say:
Monkey wrote:Team leader selection and their power- We do this via these forums, choosing people via a poll that closes on the Saturday before the Ladle at 6pm GMT.
This might be overkill. The forums are highly inactive, just like the in-game community. The only people who will be signing up and voting are people who already have Mod or Super Leader status. It's probably more important that we get those authorities straightened out than creating a polling system. If there were people fighting over TL status then yes a poll would be a good idea, but I think we can handle it ourselves in IRC on game day.
Monkey wrote:Player selection for each team - Done via IRC (Internet Relay Chat) using randomisation by the highest ranked team leader (on the poll) that wants to do it.
Rather than rolling a die we can use the ]randomteam function in #armagetron. This is more transparent and the functionality is already there. It would only require all the self-appointed Team Leaders to show up in the channel, make a list of players, and run it through ]randomteam. Also, ljrbot has a dice command:

Code: Select all

(dice <dice>d<sides>) -- Rolls a die with <sides> number of sides <dice> times. For example, 2d6 will roll 2 six-sided dice; 10d10 will roll 10 ten-sided dice.
This might even be better since we can roll multiple polygons.

It really looks like the most practical solution is to move most of Ladle's organization into IRC on event day. How about Team Leaders show up there at 18:00 GMT, collect a list of players to randomize, use ]randomteam or ]dice to make teams, then make brackets? Basically the same idea you have without the TL signups and voting, which I don't think we need right now. We might want to meet up in IRC someday before Ladle and practice this method to see if it is feasible and maybe write a document or guide to flush out any problems. I'll try and work on that this week.

I found some easy IRC bot code, but naturally I don't have any time to write something. Perhaps next month? :? I plan on taking a short vacation soon to work on personal projects, maybe I can sneak it in...
User avatar
sinewav
Graphic Artist
Posts: 6413
Joined: Wed Jan 23, 2008 3:37 am
Contact:

Re: Ladle 107

Post by sinewav »

Update: This morning I was able to connect a bot to #armagetron.tourneys and execute a command. The code I used is sloppy and needs a rewrite as soon as I start to understand some details of IRC. I don't have either the time nor motivation to write a solid bot, but I can at least come up with something basic we can use for Ladle (though I don't know if it will be done by 107, I will try).

We might be able to do the whole team picking thing in one function, maybe something like:

Code: Select all

@maketeams <int, number of teams> <string, team leaders>... <string, player list>...
The code I propose will make the number of teams specified creating team leaders from the first few players in the list, then randomly placing remaining players into teams until none are left. It will disregard team size and there will be no substitutes, meaning some teams will be short one player if the number of players does not divide equally into teams.

Any objections? If I can get at least this much done by next weekend we should be in good shape to refine the bot for the following month. Also, I want to stress that I think our efforts should go to creating the general purpose tournament server.

TODO for Ladle 107
* Make sure authorities are correct.
* Upgrade servers to 0.4 so we can use /vote referee if needed.
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Re: Ladle 107

Post by Lucifer »

sinewav wrote:I want to stress that I think our efforts should go to creating the general purpose tournament server.
You can script a tournament server, actually. It may have to run on a POSIX operating system with what I'm about to tell you, but it can totally be done. Here's how:

You double-fork a process, which will give you access to it's process ID but take it out of your script's process tree. When you do that, you connect to the stdin, stdout, and stderr of the process. Then you load a program into your new process's executable space, and it becomes the new process. The program you load, of course, will be the dedicated server.

You change all the init scripts to point to your script instead in order to have all the same autostart stuff you want. Edit: You'll obviously have to make your script implement the initscript interface, if you're doing this in Linux, which I highly recommend you doing this for.

Since you'll be connected to the stdin, stdout, and stderr pipes for the server, you can write to the server console with stdin (by writing to it as a file, because you get a file-like object for that), and you can read the console through stdout and stderr by reading them as files. Simple use a readline() function for whatever scripting language you're using.

Obviously, if you want to integrate this little ditty with the irc bot, you'd simple make the bot part of your script.

Once you have all of that, you parse everything that comes in from stdout, which includes console messages and in-game chat, and you can create custom commands that translate those commands to whatever arma commands/sequences of commands you need to implement your custom command.

It was, in fact, for this purpose that a bunch of team-oriented server commands got created in the first place, so I expect all of your team-oriented server commands to be available, you just need to code the logic to enforce them. You'll be able to stop cheating to some extent (people jumping to other teams to be dickheads, for example).

I may have some python code laying around that accomplishes this. Are you working in python? Or at least willing to work in python?

Edit: I also have a network game library in progress that may allow you to make it possible to build a client to connect to your script, once you get the script running. With a library like Kivy or PyQt, it would be fairly simple to create a GUI for your client.

I'm also available in irc to help out, you know, whenever I'm available to help out. ;)

Edit (again): It occurs to me that you can also make your script an authority for the tournament the server is running. Just a thought.
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
User avatar
sinewav
Graphic Artist
Posts: 6413
Joined: Wed Jan 23, 2008 3:37 am
Contact:

Re: Ladle 107

Post by sinewav »

Lucifer wrote:I may have some python code laying around that accomplishes this. Are you working in python? Or at least willing to work in python?
What you are describing is far beyond my current capabilities. I somewhat follow what you are saying, but I don't know when I would have time to learn and create such a thing. Given we have a small, inactive community, a custom solution like this might not be worth the effort (at least for me). But if someone wants to take a crack at it, go for it! (and document it!)
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Re: Ladle 107

Post by Lucifer »

sinewav wrote:
Lucifer wrote:I may have some python code laying around that accomplishes this. Are you working in python? Or at least willing to work in python?
What you are describing is far beyond my current capabilities. I somewhat follow what you are saying, but I don't know when I would have time to learn and create such a thing. Given we have a small, inactive community, a custom solution like this might not be worth the effort (at least for me). But if someone wants to take a crack at it, go for it! (and document it!)
If I have the amount of code I think I have, then we're not talking about a lot of time spent learning and creating.

I'll look into what I have.

Alternately, I'm actually willing to write such a thing, because I know what it takes (I've written it several times before, even had my own servers running on such code), and I can do so fairly quickly. I'm not volunteering that until I've seen what code I have, because I'm focused on (current family drama you know about, and) working on my network library so my boys and I can make games.
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
Monkey
Match Winner
Posts: 759
Joined: Thu May 22, 2008 12:36 am
Location: England, UK

Re: Ladle 107

Post by Monkey »

sinewav wrote:The forums are highly inactive, just like the in-game community...I think we can handle it ourselves in IRC on game day...It really looks like the most practical solution is to move most of Ladle's organization into IRC on event day...How about Team Leaders show up there at 18:00 GMT, collect a list of players to randomize
IRC is at least as inactive as the forums and the in-game community, however I don't have a better solution and I agree that we should try this.
sinewav wrote:The code I propose will make the number of teams specified creating team leaders from the first few players in the list, then randomly placing remaining players into teams until none are left. It will disregard team size and there will be no substitutes, meaning some teams will be short one player if the number of players does not divide equally into teams.
Having played in the last ladle, which was extremely chaotic, I strongly recommend that we play 6v6 and that we do have some substitutes if the numbers are that way inclined. Also, one more problem that we will face is the server configs. It's going to be messy choosing team leaders at 18:00 GMT on Ladle day and then putting those team leaders into the server configs immediately afterwards. Other than these issues, I'm fine with the rest of it. :)
sinewav wrote:I want to stress that I think our efforts should go to creating the general purpose tournament server.
Agreed.
Playing since December 2006
User avatar
sinewav
Graphic Artist
Posts: 6413
Joined: Wed Jan 23, 2008 3:37 am
Contact:

Re: Ladle 107

Post by sinewav »

Monkey wrote:Having played in the last ladle, which was extremely chaotic, I strongly recommend that we play 6v6 and that we do have some substitutes if the numbers are that way inclined.
Good point. I'll make sure teams are at least 6 players.
Monkey wrote:Also, one more problem that we will face is the server configs. It's going to be messy choosing team leaders at 18:00 GMT on Ladle day and then putting those team leaders into the server configs immediately afterwards. Other than these issues, I'm fine with the rest of it. :)
I think all the current Team Leaders are already Super Leaders? I would suggest for future Ladles that anyone who wants the responsibility of Team Leader to sign up on the wiki. We can keep a permanent list and abandon the "Super Leader" tag, giving normal Team Leaders the authority they need.

We might want to revisit making ladle#.cfg's again so Global Mods can INCLUDE them if needed. I'll try and work out what authorities we need and write it up. Gene are you reading this thread? Can we upgrade your Ladle servers to 0.4 so /vote referee is available and ensure referees can manage authorities properly?

I don't really feel like paying for an upgrade on my VPS so it can run Arma, but if team management becomes a problem I'll do it.
Monkey
Match Winner
Posts: 759
Joined: Thu May 22, 2008 12:36 am
Location: England, UK

Re: Ladle 107

Post by Monkey »

sinewav wrote:I think all the current Team Leaders are already Super Leaders?
I'm not a super leader yet, despite having asked to be one :P
sinewav wrote:I would suggest for future Ladles that anyone who wants the responsibility of Team Leader to sign up on the wiki. We can keep a permanent list and abandon the "Super Leader" tag, giving normal Team Leaders the authority they need.
Sounds good to me.

All we need now is for server owners to cooperate and we're good to go.
Playing since December 2006
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Re: Ladle 107

Post by Lucifer »

Lucifer wrote:
sinewav wrote:
Lucifer wrote:I may have some python code laying around that accomplishes this. Are you working in python? Or at least willing to work in python?
What you are describing is far beyond my current capabilities. I somewhat follow what you are saying, but I don't know when I would have time to learn and create such a thing. Given we have a small, inactive community, a custom solution like this might not be worth the effort (at least for me). But if someone wants to take a crack at it, go for it! (and document it!)
If I have the amount of code I think I have, then we're not talking about a lot of time spent learning and creating.

I'll look into what I have.

Alternately, I'm actually willing to write such a thing, because I know what it takes (I've written it several times before, even had my own servers running on such code), and I can do so fairly quickly. I'm not volunteering that until I've seen what code I have, because I'm focused on (current family drama you know about, and) working on my network library so my boys and I can make games.
I found my old code. I don't know what state it is in, though. I was working on a python program that would manage multiple arma servers running on the same machine. It was something Spidey and I were doing to support a potential for-pay vps service, and it may be one of the projects interupted by my divorce. I'll fiddle with it and see how far it's come, but I already see that I'd been writing an xml-rpc service for it. Depending on how far along it is, it could be able to load plugins to control servers.

Anyway, if you want to start somewhere, I had found a pure python module that uses the standard pts module to create a simulated terminal to run the server in. You can find it on this crappy web page. You catch everything it gives you and match for the \cr\ln string to get the end of line, then do your own processing on what you get.

Edit: I'm not remembering the whole story, just that Spidey was going to build a for-pay vps with it, and I was going to create a more or less permanent AFL. ;)
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
User avatar
compguygene
Adjust Outside Corner Grinder
Posts: 2342
Joined: Thu Aug 21, 2008 12:09 pm
Location: Cleveland, Ohio
Contact:

Re: Ladle 107

Post by compguygene »

Yes i am reading this thread and can upgrade things to .4.
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