[(X)Aseco/FAST] AutoQueue v0.60b

Discover FAST, a records keeping server control script with a public records system called Dedimania, which will show records from the server on tm-exchange.com

Moderators: Slig, TM-Patrol

User avatar
f*ckfish
Pit Crew
Pit Crew
Posts: 1302
Joined: 15 Jun 2007 07:59
Owned TM-games: TMNF, TMUF
Location: Dresden, Germany
Contact:

[(X)Aseco/FAST] AutoQueue v0.60b

Post by f*ckfish » 27 Aug 2008 17:54

AutoQueue (XAseco 1.05, Fast 3.2.x, Aseco 2.2.0c tested)
by oorf I f*ckfish aka Alexander P.
http://fish.stabb.de

Since I don't have enough work with the menu and the widgets and the following issue quite bugged me, I had to write this plugin in the hope, a lot of people will use it.
The situation: A lot of guys will already have realized, that higher ranked servers are sometimes pretty hard to join since they are constantly full of players. If you enter as a spectator, you'll have to lay something on your "Enter" key and still there are people that join faster than you.

The solution: This plugin is an automatic management system for chronically overpopulated servers. It creates a spectator queue to let those players join first who came first. It also contains some idle kicking features.

This plugin contains no fancy graphical output, just plain old chat messages and functionality =)


Download

AutoQueue All Versions

Update v0.60b
  • The list didn't work due to a debug line I did not comment out, sorry
Update v0.60
  • I removed XFA from the version name since it should be known by now that the queue works with XAseco, Fast and Aseco
  • Added a self-updating list that shows the current content of the queue, its properties can be configured inside "autoqueue_config.xml" (see "Configuration" section below)
  • removed inconsistency check since it only produced errors
  • Added a chat command "/queuelist" to show beforementioned list
  • Added a chat command "/queueversion" that outputs the current autoqueue version
  • changed the Worstkick (again...), now there's no safetime anymore, if a player enters a runnig round, he is automatically safe for this race, he will be made "kickable" as soon as the next track starts
  • deactivated the plugin for the time the next track is loading since I experienced a few rare abnormalities in this timeframe
  • idlekick won't kick Referees anymore
  • added a little version info at the queuebutton
  • added some console messages
Update v0.50 (XFA)
  • Dedicated Server 2008-10-07 or better required
  • changed the Worstkick to only kick the x worst positions if possible, so with a player count of 8 and a Worstkick of two it will always only try to kick position 7 and 8, it will not kick better positions
  • removed the safetime for new players and changed it to kick only official players
  • /play command in FAST won't circumvent the queue anymore
  • idlekick bugs in WarmUp should be fixed, see this post for more details
  • from now on every joining player will be put into the queue first, no matter if he joined as a player or spectator, again, for more details, see this post
  • added an experimental inconsistency check that searches for differences between the lists used in the queue plugin and the actual player list on the server and reacts appropriately (I hope^^), see the "inconsistencyinterval" parameter in the XML
  • removed the ladder serverlimit setting from the config since from now on the ladder limit is read directly out of the dedicated server via XMLRPC
  • the IdleKicker shouldn't kick relay servers anymore
  • in (X)Aseco, the worstkick was buggy for WarmUp, fixed
  • again some small structural changes
  • probably some other stuff, I forgot to mention ;-)
Update v0.46 (XFA)
  • I used a faulty named event in the IdleKicker for Aseco (therefore it didn't work properly)-> fixed
Update v0.45 (XFA)
  • No functional changes but I added some clickable ManiaLinks that replace the chat commands and messages since I heard from an admin that some players don't read the chat lines, this manialink stuff is optional and can be configured in the xml file (see the "Configuration" section below)
Update v0.40 (XFA)
  • Admin check for KickWorst was faulty, so admins were also kicked, even if "kickadmin" was false -> fixed
  • IdleKicker crashed FAST, sorry about that ;-) ->fixed
  • Added a new functionality: If a player joins the race he gets a "safetime" in which he won't be kicked by the KickWorst function, this should give new players the chance to be able to drive a few rounds (especially when they enter at the end of a race), the xml parameter for that is "newplayers_safetime"
Update v0.35b (XFA)
  • little fix for Aseco, where I forgot to properly check for admins, so they were always kicked, too, no matter what setting
Update v0.35 (XFA)
  • Apparently the ForceSpectator method works too straight forward and even lets players in, that are below the needed rank, this is fixed now:
    In the config file, there's a new parameter called "serverlimitmin" which should be set to your minimum point limit, FAST users won't need to do this, since the plugin gets this value from the Dedicated config file there
Update v0.30 (XFA)
  • Uh, another letter, this time it stands for Aseco, so from now on this plugin will run on XAseco, Aseco and FAST
  • Idlekicker in FAST was faulty -> fixed
  • KickWorst: Noone will be kicked after the WarmUp, only after real races
  • some small structural changes
Update v0.25 (XF)
  • Again some useless letters after the version number, this time they stand for XAseco&FAST since from now on, both of them are supported =)
  • Fixed some inconsistency in the chatlines
Alternative version v0.2ox
  • "ox" stands for "older XAsecos" and it only works for XAsecos prior to 1.03 (this will be the only version working there, I won't make an alternative for future releases, so update your XAseco ;-) )

Installation

Important!

If you don't follow the steps carefully, the plugin will not be working properly.
  1. Unrar the archive into the ASECO or FAST folder (FAST users can now proceed to step 3)
  2. Insert the following line into "plugins.xml" (after all other plugins)

    Code: Select all

    <plugin>plugin.fufi.autoqueue.php</plugin>
  3. Configure some stuff if you like to (see "Configuration" section below)
  4. Done! Have fun!

Overview

Every spectator will be put into forced spectator mode, so constantly hitting "Enter" won't accomplish anything.
If a spot on the server opens, the first one who came will automatically exit spectator mode and enter the driving.
After that the second one who joined... and so on...

If a player choses to put himself into spectator mode to take a break from driving, he'll be put into the "Unqueue" mode.
That means, to rejoin the game he'll have to reenter the queue by typing "/queue".

A player in the queue can exit the queue and be a normal spectator by typing "/unqueue".


The Kicking Functions

I know, XAseco already has an Idlekicker, but I kinda wanted a time based one and since it matches this plugin I implemented it. Therefore inside the config file you can configure your idle kicking preferences (find details in the "Configuration" section below). You can of course deactivate the kicking.

Another thing I implemented is a Kick-Worst function. That means after each race the plugin checks if there are players in the queue and if this is the case, the plugin kicks the x worst players from the last race. This is still experimental since I don't know how it reacts in some Game Modes and especially I did not try WarmUp.


Configuration

Inside the main XAseco/FAST folder, you'll find a file called "autoqueue_config.xml". Inside this file you can configure everything you want to customize the plugin to your needs:
  • kickinterval: The time interval in which the plugin checks for "kickable" players, if set to "0", the whole idle kicking is disabled
  • idletime: Time, until an idle player is kicked. A player is set active if he does one of the following things:
    • pass a checkpoint
    • write a chat line
    • finish a race
    • click a manialink
  • unqeued_spec_idletime: The same like the beforementioned, but for spectators. This functionality won't kick players that are waiting in the queue
  • kickworst: Maximum number of players kicked after a race is finished (the plugin takes the race ranking and kicks the worst players)
  • kickadmins: Determines whether admins can be automatically kicked or not
  • use_manialinks: set true to use ManiaLink display and buttons instead of chat display and chat commands
  • str_*: Some strings for the chat and ManiaLink output
  • buttonxml: the ManiaLink code used for the queue output and button, you can of course change it if you like to
  • listconfig: some settings for the display of the queue list
    • autoshow: If true the list will be shown automatically to a player that joins the queue
    • title: the string that will be used as the caption for the list
    • style: the Manialink style for the list background
    • substyle: the Manialink substyle for the list background
    • highlitestyle: the ManiaLink style for the background of a listentry
    • highlitesubstyle: the ManiaLink substyle for the background of a listentry
    • posx, posy: the position of the queue list window
    • rows: the number of rows in the list
    • maxcols: the maximum number of columns in the list (the plugin will automatically remove empty columns)
    • maxwidth: the width the list uses if all columns are filled
    • scale: (0..1) scales the whole list by the given factor
Last edited by f*ckfish on 16 Feb 2009 20:54, edited 11 times in total.
inactive, sorry

jamie_macdonald
TM-Patrol
TM-Patrol
Posts: 1612
Joined: 10 Jul 2008 19:48
Owned TM-games: TMUF, TMNF, TMS
Manialink(s): ET
Location: London, UK
Contact:

Re: [XAseco/FAST] AutoQueue v0.25

Post by jamie_macdonald » 28 Aug 2008 02:23

Awesome ill test this right away .. genuis ^^

I will let zooz know of this too because his RoC server the admin kick the 3 slowest each round ...im sure this will help alot .. thanks ^^ :1



edit: I have tested from player and admin perspectice in my fast server (ET|Generation) and all seems to work beautifuly
I cannot test the slowest driver kick here yet as at night its pretty slow going in united atm ... I maybe set to kick slowest if v busy tomoz to give some extra impetus to the drivers :wink: ... Again ... Thanks alot :3

User avatar
f*ckfish
Pit Crew
Pit Crew
Posts: 1302
Joined: 15 Jun 2007 07:59
Owned TM-games: TMNF, TMUF
Location: Dresden, Germany
Contact:

Re: [(X)Aseco/FAST] AutoQueue v0.30

Post by f*ckfish » 28 Aug 2008 10:34

I'm glad it works =)
Fixed some bugs (see the release notes vor 0.30). Works on Aseco now, too!
inactive, sorry

Zooz
TM-Patrol
TM-Patrol
Posts: 5326
Joined: 13 Aug 2005 08:58
Owned TM-games: TMO, TMS, TMNF, TMUF
Manialink(s): zooz
Location: The Netherlands

Re: [(X)Aseco/FAST] AutoQueue v0.30

Post by Zooz » 28 Aug 2008 10:46

Great one! This should be quite useful for the Race of Champions servers.

I haven't tried it yet, but what if there's someone in spec whose rank is too low to be allowed to play on the server? The plugin should be able to handle that, I think.

But maybe you already thought of that ^^

Question, does "kickinterval" only refer to idle kicking or also kickworst? (kickworst only happens on the scoreboard, right?)

Suggestion: Only do the kickworst if there are players queued, depending on the size of the queue (if there's 1 waiting, kick the worst 1, even if the setting says 3. Only kick the worst 3 when there are 3 or more queued.
Otherwise it's just an annoyance really, they just have to rejoin.

User avatar
f*ckfish
Pit Crew
Pit Crew
Posts: 1302
Joined: 15 Jun 2007 07:59
Owned TM-games: TMNF, TMUF
Location: Dresden, Germany
Contact:

Re: [(X)Aseco/FAST] AutoQueue v0.30

Post by f*ckfish » 28 Aug 2008 11:38

Zooz wrote:Great one! This should be quite useful for the Race of Champions servers.

I haven't tried it yet, but what if there's someone in spec whose rank is too low to be allowed to play on the server? The plugin should be able to handle that, I think.

But maybe you already thought of that ^^
Actually, I didn't ;-) I didn't even know, it was possible to spectate if your rank is lower. This could be a problem with the current plugin, I'll have a look at that.
Zooz wrote:Question, does "kickinterval" only refer to idle kicking or also kickworst? (kickworst only happens on the scoreboard, right?)
Kickinterval is only there so that the system doesn't have to do all the computations after every second and yes, it only applies to idlekicking. KickWorst only happens at the scoreboard and since v0.3 only in real races, not in WarmUp.
Zooz wrote:Suggestion: Only do the kickworst if there are players queued, depending on the size of the queue (if there's 1 waiting, kick the worst 1, even if the setting says 3. Only kick the worst 3 when there are 3 or more queued.
Otherwise it's just an annoyance really, they just have to rejoin.
That has been in the plugin since the initial release =)
inactive, sorry

jamie_macdonald
TM-Patrol
TM-Patrol
Posts: 1612
Joined: 10 Jul 2008 19:48
Owned TM-games: TMUF, TMNF, TMS
Manialink(s): ET
Location: London, UK
Contact:

Re: [(X)Aseco/FAST] AutoQueue v0.30

Post by jamie_macdonald » 28 Aug 2008 12:44

Doh .. shoulda thought to test earlier . .but i have tested with a lower profile (under 60k lp and server is 60-90k lp) and it does indeed force the profile into play.

would it be possible to add in the cfg xml a rank limit to match the server?

Im aware that a lower profile cannot earn points in a higher server but still i would like it not to take room!

Thx F*$kfish , sorry for not spotting that earlier in my test (i was tired lol)

User avatar
f*ckfish
Pit Crew
Pit Crew
Posts: 1302
Joined: 15 Jun 2007 07:59
Owned TM-games: TMNF, TMUF
Location: Dresden, Germany
Contact:

Re: [(X)Aseco/FAST] AutoQueue v0.30

Post by f*ckfish » 28 Aug 2008 13:11

jamie_macdonald wrote:Doh .. shoulda thought to test earlier . .but i have tested with a lower profile (under 60k lp and server is 60-90k lp) and it does indeed force the profile into play.

would it be possible to add in the cfg xml a rank limit to match the server?

Im aware that a lower profile cannot earn points in a higher server but still i would like it not to take room!

Thx F*$kfish , sorry for not spotting that earlier in my test (i was tired lol)
When you wrote that, the new version was already uploaded =) So, v0.35 got that feature and as a FAST user you won't even have to configure anything since I get that value from the Dedicated config file.
inactive, sorry

jamie_macdonald
TM-Patrol
TM-Patrol
Posts: 1612
Joined: 10 Jul 2008 19:48
Owned TM-games: TMUF, TMNF, TMS
Manialink(s): ET
Location: London, UK
Contact:

Re: [(X)Aseco/FAST] AutoQueue v0.35

Post by jamie_macdonald » 28 Aug 2008 13:13

Damn ur (your) quick ^^

Thx alot ill try it now :pil

:1

edit: tried tested and beautifuly done f'fish .. like the message when you try to queue (as low ranker) too ^^

Thx ever so much :gobananas:

Zooz
TM-Patrol
TM-Patrol
Posts: 5326
Joined: 13 Aug 2005 08:58
Owned TM-games: TMO, TMS, TMNF, TMUF
Manialink(s): zooz
Location: The Netherlands

Re: [(X)Aseco/FAST] AutoQueue v0.35b

Post by Zooz » 28 Aug 2008 14:08

Great, thanks, looks like I'll be using this Sunday :mrgreen:

User avatar
Slig
Pit Crew
Pit Crew
Posts: 2124
Joined: 05 Sep 2005 17:51
Owned TM-games: ALL
Location: TraxicoLand (Fr)
Contact:

Re: [(X)Aseco/FAST] AutoQueue v0.35b

Post by Slig » 28 Aug 2008 17:04

I don't have personal use of it (i don't have full servers), but it looks like a very good plugin idea, gg :D
It can also be a good thing for 80K+ servers :D

jamie_macdonald
TM-Patrol
TM-Patrol
Posts: 1612
Joined: 10 Jul 2008 19:48
Owned TM-games: TMUF, TMNF, TMS
Manialink(s): ET
Location: London, UK
Contact:

Re: [(X)Aseco/FAST] AutoQueue v0.35b

Post by jamie_macdonald » 28 Aug 2008 17:22

hi again guys ... problems here ... was fine at first but now im getting some big oddities i posted seperate thread in fast because is maybe a conflict between more than one plugin so i think is for you f'fish, glider, mcm and maybe even slig..

post is here Link

User avatar
f*ckfish
Pit Crew
Pit Crew
Posts: 1302
Joined: 15 Jun 2007 07:59
Owned TM-games: TMNF, TMUF
Location: Dresden, Germany
Contact:

Re: [(X)Aseco/FAST] AutoQueue v0.35b

Post by f*ckfish » 28 Aug 2008 19:20

Thank you all, I hope it can stand the action on sunday ;-)
inactive, sorry

User avatar
f*ckfish
Pit Crew
Pit Crew
Posts: 1302
Joined: 15 Jun 2007 07:59
Owned TM-games: TMNF, TMUF
Location: Dresden, Germany
Contact:

Re: [(X)Aseco/FAST] AutoQueue v0.40

Post by f*ckfish » 30 Aug 2008 10:10

There's a new release 0.40 which avoids kicking "fresh" players and fixes a few bugs (be sure to read the release notes). I highly recommend upgrading!
Actually the IdleKicker crashed FAST cause it used an Aseco specific time format function I forgot about. Also I had a typo in the admin checker for the kickworst function. :oops:
inactive, sorry

User avatar
f*ckfish
Pit Crew
Pit Crew
Posts: 1302
Joined: 15 Jun 2007 07:59
Owned TM-games: TMNF, TMUF
Location: Dresden, Germany
Contact:

Re: [(X)Aseco/FAST] AutoQueue v0.45

Post by f*ckfish » 30 Aug 2008 14:08

For the lazy chatters and mouse victims there is a ManiaLink based display with clickable buttons in release v0.45 =)
inactive, sorry

jamie_macdonald
TM-Patrol
TM-Patrol
Posts: 1612
Joined: 10 Jul 2008 19:48
Owned TM-games: TMUF, TMNF, TMS
Manialink(s): ET
Location: London, UK
Contact:

Re: [(X)Aseco/FAST] AutoQueue v0.45

Post by jamie_macdonald » 30 Aug 2008 20:10

lol nice ...

i was going to make rudementry buttons for queue/unqueue that just input the chat commands .... i guess maybe now no need lol ...

Thx alot :)

Post Reply