thankyou
Donate to the B3 fund!

"even a small donation helps!"
Donate with PayPal!
Most of the plugins here are made by B3 users and the authors may not visit frequently. If you need support for plugins or if questions remain unanswered, you will have to contact the author directly. Read the full Support Disclaimer here

NOTE: Do not attach plugins to your forumtopics! Attachements are periodically removed by maintenance tasks. Upload your plugins to our Downloads section instead!

Author Topic: MakeRoom plugin  (Read 22423 times)

Offline BetterDeadThanZed

  • Beta Testers
  • Hero Member
  • *
  • Posts: 681
    • Killin Zeds
Re: MakeRoom plugin
« Reply #30 on: July 09, 2011, 03:39:30 PM »
I just had a user tell me he was kicked for the reserved slot, although he's got the right level not to be kicked. I checked Echelon and sure enough, he was kicked for a reserved slot.

Quote
9083    de-activate / unban    Kick    0    Saturday, 09/07/2011 (15:19)    (kick only)    to free a slot
( )    B3

I've had this happen to me as well. I would join the server when it's 17/18 and after I connect, I'd be kicked. Once I'm in, though, it doesn't kick me. I believe it only happens when the server has only 1 slot open, so it seems that while it protects you from being kicked once the server maxes out, if the server is maxed out, you will be kicked even when you have the right level.

Offline Courgette

  • Senior Dev.
  • Hero Member
  • *
  • Posts: 4883
    • Github repository
Re: MakeRoom plugin
« Reply #31 on: July 09, 2011, 04:58:38 PM »
GrossKopf you should be used to it by now, we need logs :)

Offline BetterDeadThanZed

  • Beta Testers
  • Hero Member
  • *
  • Posts: 681
    • Killin Zeds
Re: MakeRoom plugin
« Reply #32 on: July 09, 2011, 06:11:23 PM »
Ok, I did a search for "to free a slot" and found the log entry I needed:

Code: [Select]
110709 09:18:53	VERBOSE	"connectClient() = {'11': {'slot': '11', 'last': '0', 'name': 'Peetes^7', 'ip': '95.103.80.14', 'ping': '68', 'pbid': None, 'score': '100', 'guid': '01100001d531ef96', 'port': '28960'}, '10': {'slot': '10', 'last': '0', 'name': 'silverstar^7', 'ip': '91.88.123.29', 'ping': '91', 'pbid': None, 'score': '0', 'guid': '0110000158a29f44', 'port': '28960'}, '13': {'slot': '13', 'last': '50', 'name': 'Snakerelly^7', 'ip': '82.57.64.52', 'ping': '96', 'pbid': None, 'score': '0', 'guid': '01100001dd286f60', 'port': '28960'}, '12': {'slot': '12', 'last': '0', 'name': 'FLaXe Frenzy^7', 'ip': '90.36.42.9', 'ping': '108', 'pbid': None, 'score': '0', 'guid': '011000019e90a12d', 'port': '28960'}, '15': {'slot': '15', 'last': '0', 'name': '-=SnaipeR=-^7', 'ip': '95.84.40.235', 'ping': '124', 'pbid': None, 'score': '400', 'guid': '0110000190a1afe8', 'port': '4294961152-15448'}, '14': {'slot': '14', 'last': '0', 'name': 'Robbie94^7', 'ip': '91.144.122.23', 'ping': '74', 'pbid': None, 'score': '220', 'guid': '011000015e75500a', 'port': '28960'}, '17': {'slot': '17', 'last': '50', 'name': 'DeathX^7', 'ip': '2.81.90.202', 'ping': '79', 'pbid': None, 'score': '0', 'guid': '0110000118575ac5', 'port': '28960'}, '16': {'slot': '16', 'last': '0', 'name': '^1TAC^7', 'ip': '86.66.149.4', 'ping': '79', 'pbid': None, 'score': '0', 'guid': '01100001db5f4bb9', 'port': '28960'}, '1': {'slot': '1', 'last': '0', 'name': '^4Nel^7son^1318^7', 'ip': '2.6.143.72', 'ping': '139', 'pbid': None, 'score': '0', 'guid': '01100001f9d1f906', 'port': '28960'}, '0': {'slot': '0', 'last': '0', 'name': '[-agent-s-]^7', 'ip': '94.71.120.98', 'ping': '119', 'pbid': None, 'score': '0', 'guid': '011000015411b0d1', 'port': '28960'}, '3': {'slot': '3', 'last': '0', 'name': '^1SSF4 AE ^8| ^^7', 'ip': '88.108.97.1', 'ping': '51', 'pbid': None, 'score': '200', 'guid': '011000012d100583', 'port': '29341'}, '2': {'slot': '2', 'last': '0', 'name': '^2[EcT]^0M.Biso^7', 'ip': '46.251.68.153', 'ping': '95', 'pbid': None, 'score': '200', 'guid': '0110000116f60252', 'port': '28960'}, '5': {'slot': '5', 'last': '0', 'name': 'Dad Meets Evil^7', 'ip': '79.169.101.239', 'ping': '87', 'pbid': None, 'score': '0', 'guid': '01100001cba5c78c', 'port': '28960'}, '4': {'slot': '4', 'last': '0', 'name': 'Tyfoon8^7', 'ip': '81.83.153.37', 'ping': '49', 'pbid': None, 'score': '0', 'guid': '0110000119b02c7c', 'port': '28960'}, '7': {'slot': '7', 'last': '0', 'name': '^1SSF4 AE ^8| ^^7', 'ip': '82.27.238.242', 'ping': '80', 'pbid': None, 'score': '0', 'guid': '01100001a76c128b', 'port': '28960'}, '6': {'slot': '6', 'last': '0', 'name': 'alexandddr^7', 'ip': '94.51.104.35', 'ping': '114', 'pbid': None, 'score': '500', 'guid': '01100001632aad4d', 'port': '28960'}, '9': {'slot': '9', 'last': '0', 'name': 'redseadiver69^7', 'ip': '90.36.42.9', 'ping': '110', 'pbid': None, 'score': '100', 'guid': '011000018eac7ccb', 'port': '25705'}, '8': {'slot': '8', 'last': '550', 'name': 'DIMITRI^7', 'ip': '2.82.217.95', 'ping': '218', 'pbid': None, 'score': '0', 'guid': '0110000139b9d820', 'port': '28960'}}"
110709 09:18:53 DEBUG '^1SSF4 AE ^8| ^^7 found in status/playerList'
110709 09:18:53 DEBUG "Client Connected: [7] SSF4 AE | Jake - 01100001a76c128b ({'codguid': '01100001a76c128b'})"
110709 09:18:53 VERBOSE 'Queueing event Client Connect Client<7>'
110709 09:18:53 DEBUG 'Storage: getClient Client<7>'
110709 09:18:53 VERBOSE 'Parsing Event: Client Connect: MakeroomPlugin'
110709 09:18:53 DEBUG 'MakeroomPlugin: 18/18 connected players. Free slots : 0'
110709 09:18:53 INFO 'MakeroomPlugin: last connected player will be kicked'
110709 09:18:53 VERBOSE "RCON sending (109.73.163.230:28960) 'say ^0(^2b3^0)^7: Keeping a free slot, please come back again'"
110709 09:18:53 VERBOSE 'Parsing Event: Client Connect: AsciikickPlugin'
110709 09:18:53 BOT     'Client found in storage 19966, welcome back SSF4 AE | Jake'
110709 09:18:53 DEBUG 'Storage: setClient Client<7>'
110709 09:18:53 DEBUG "Storage: setClient data {'time_add': 1306758847, 'time_edit': 1310217533, 'name': 'SSF4 AE | Jake', 'group_bits': 2, 'ip': '82.27.238.242', 'auto_login': 1, 'greeting': u'', 'pbid': u'None', 'connections': 106, 'mask_level': 0, 'guid': '01100001a76c128b', 'id': 19966}"
110709 09:18:53 DEBUG 'Client Authorized: [7] SSF4 AE | Jake - 01100001a76c128b'
110709 09:18:53 VERBOSE 'Queueing event Client Authenticated Client<7>'
110709 09:18:53 VERBOSE 'Queueing event Client Join Team None'
110709 09:19:23 VERBOSE "RCON sending (109.73.163.230:28960) 'clientkick 7'"
110709 09:19:24 DEBUG "Storage: setClientPenalty data {'time_edit': 1310217564, 'keyword': '', 'type': 'Kick', 'admin_id': 0, 'reason': 'to free a slot', 'inactive': 0, 'data': '', 'client_id': 19966, 'time_add': 1310217564, 'time_expire': 0}"

This guy has "group_bits" 2 as you can see, but he's still kicked. Here's the line my plugin_makeroom.xml that defines what level someone is kicked:

Quote
<!-- level under which players to kick will be chosen from (default: 2) -->
<set name="non_member_level">2</set>

Offline Courgette

  • Senior Dev.
  • Hero Member
  • *
  • Posts: 4883
    • Github repository
Re: MakeRoom plugin
« Reply #33 on: July 09, 2011, 07:17:41 PM »
non_member_level is inclusive. If you set non_member_level to 2, then players with level 2 and under are subject to kick when freeing a slot.

I've change the documentation to be more clear about that in v1.3.1 and also added more debug info into log file (including a dump of all players subject to kick)

Offline BetterDeadThanZed

  • Beta Testers
  • Hero Member
  • *
  • Posts: 681
    • Killin Zeds
Re: MakeRoom plugin
« Reply #34 on: July 09, 2011, 07:39:36 PM »
Yeah, 'level under which' to me means if the level is below that value.

However, I've been kicked like him and I'm level 100.

Offline Courgette

  • Senior Dev.
  • Hero Member
  • *
  • Posts: 4883
    • Github repository
Re: MakeRoom plugin
« Reply #35 on: July 09, 2011, 07:59:35 PM »
please post a log (using v1.3.1) which provides more details into the log file

Offline BetterDeadThanZed

  • Beta Testers
  • Hero Member
  • *
  • Posts: 681
    • Killin Zeds
Re: MakeRoom plugin
« Reply #36 on: July 09, 2011, 08:11:54 PM »
please post a log (using v1.3.1) which provides more details into the log file

I won't be able to test the new version until later today or tomorrow so ill post the log when it happens again.

Offline BetterDeadThanZed

  • Beta Testers
  • Hero Member
  • *
  • Posts: 681
    • Killin Zeds
Re: MakeRoom plugin
« Reply #37 on: July 11, 2011, 03:04:32 PM »
Ok, installed the new version. Just tried joining one of my servers that was 17/18 players. I was kicked after connecting. Here's the log:

Code: [Select]
110711 08:58:10	DEBUG	'[GK]GrossKopf^7 found in status/playerList'
110711 08:58:10 DEBUG "Client Connected: [11] [GK]GrossKopf - 01100001b6f95025 ({'codguid': '01100001b6f95025'})"
110711 08:58:10 VERBOSE 'Queueing event Client Connect Client<11>'
110711 08:58:10 DEBUG 'Storage: getClient Client<11>'
110711 08:58:10 VERBOSE 'Parsing Event: Client Connect: MakeroomPlugin'
110711 08:58:10 DEBUG 'MakeroomPlugin: 18/18 connected players. Free slots : 0'
110711 08:58:10 DEBUG 'MakeroomPlugin: last_connected_client.maxLevel : 0'
110711 08:58:10 INFO 'MakeroomPlugin: last connected player will be kicked'
110711 08:58:10 VERBOSE "RCON sending (76.72.165.15:28961) 'say ^0(^2b3^0)^7: Keeping a free slot, please come back again'"
110711 08:58:10 VERBOSE 'Parsing Event: Client Connect: AsciikickPlugin'
110711 08:58:10 BOT    'Client found in storage 21, welcome back [GK]GrossKopf'
110711 08:58:10 DEBUG 'Storage: setClient Client<11>'
110711 08:58:10 DEBUG "Storage: setClient data {'time_add': 1289834163, 'time_edit': 1310389090, 'name': '[GK]GrossKopf', 'group_bits': 128, 'ip': '24.0.16.202', 'auto_login': 1, 'greeting': u'', 'pbid': u'', 'connections': 173, 'mask_level': 0, 'guid': '01100001b6f95025', 'id': 21}"
110711 08:58:10 DEBUG 'Client Authorized: [11] [GK]GrossKopf - 01100001b6f95025'
110711 08:58:10 VERBOSE 'Queueing event Client Authenticated Client<11>'
110711 08:58:10 VERBOSE 'Queueing event Client Join Team None'

Also, will you be fixing the plugin so it uses the custom reasons I set up in the .xml instead of the default reasons?

Offline MordyT

  • Support Hero
  • Hero Member
  • *
  • Posts: 3644
  • Over $300 Donated to B3!
    • MordyT
Re: MakeRoom plugin
« Reply #38 on: July 11, 2011, 03:33:27 PM »
What is the loading order of this plugin?
I am no expert, but looks like it is kicking you before authenticating you.... therefor it has no idea who are at time if kick.

Maybe make the plugin wait 10 seconds before issuing kick after connect? Or lower it on the loading order?
Help will be given to those with a b3.log

If drop off the map it is due to RL becoming busy :)

System: Python 2.7.3 - Deb 7 - B3 Source Code - 128MB RAM box (rented at $5 a year) - remote MySQL - Remote Web Services

Offline BetterDeadThanZed

  • Beta Testers
  • Hero Member
  • *
  • Posts: 681
    • Killin Zeds
Re: MakeRoom plugin
« Reply #39 on: July 11, 2011, 04:05:10 PM »
What is the loading order of this plugin?
I am no expert, but looks like it is kicking you before authenticating you.... therefor it has no idea who are at time if kick.

Maybe make the plugin wait 10 seconds before issuing kick after connect? Or lower it on the loading order?

In the second line, Client Connected, it shows my group bits as 128, so it knows I'm an admin at that point, before it decides who to kick.

Offline MordyT

  • Support Hero
  • Hero Member
  • *
  • Posts: 3644
  • Over $300 Donated to B3!
    • MordyT
Re: MakeRoom plugin
« Reply #40 on: July 11, 2011, 04:15:13 PM »
Unless I am mistaken,
110711 08:58:10   DEBUG   'Client Authorized: [11] [GK]GrossKopf - 01100001b6f95025'

That is finally when it knows who you are....
Help will be given to those with a b3.log

If drop off the map it is due to RL becoming busy :)

System: Python 2.7.3 - Deb 7 - B3 Source Code - 128MB RAM box (rented at $5 a year) - remote MySQL - Remote Web Services

Offline BetterDeadThanZed

  • Beta Testers
  • Hero Member
  • *
  • Posts: 681
    • Killin Zeds
Re: MakeRoom plugin
« Reply #41 on: July 11, 2011, 04:36:03 PM »
Well, Courgette will be able to say for sure (I hope).

Offline Courgette

  • Senior Dev.
  • Hero Member
  • *
  • Posts: 4883
    • Github repository
Re: MakeRoom plugin
« Reply #42 on: July 11, 2011, 07:52:09 PM »
Could you try v1.4 and report any improvement please ?

Offline BetterDeadThanZed

  • Beta Testers
  • Hero Member
  • *
  • Posts: 681
    • Killin Zeds
Re: MakeRoom plugin
« Reply #43 on: July 11, 2011, 08:26:33 PM »
Ok, I've installed it and will let you know if I have any more problems.

Offline BetterDeadThanZed

  • Beta Testers
  • Hero Member
  • *
  • Posts: 681
    • Killin Zeds
Re: MakeRoom plugin
« Reply #44 on: July 11, 2011, 09:13:56 PM »
Now I joined my server with 17/18 players and NO ONE was kicked. I waited at least 2 minutes:

Code: [Select]
110711 15:06:27	DEBUG	'[GK]GrossKopf connected, waiting for Authentication...'
110711 15:06:27 DEBUG "Our Authentication queue: {'14': 1}"
110711 15:06:29 DEBUG 'newClient: 14, 01100001b6f95025, [GK]GrossKopf'
110711 15:06:30 DEBUG '[GK]GrossKopf^7 found in status/playerList'
110711 15:06:30 DEBUG "Client Connected: [14] [GK]GrossKopf - 01100001b6f95025 ({'codguid': '01100001b6f95025'})"
110711 15:06:30 VERBOSE 'Queueing event Client Connect Client<14>'
110711 15:06:30 DEBUG 'Storage: getClient Client<14>'
110711 15:06:30 DEBUG 'Client Authorized: [14] [GK]GrossKopf - 01100001b6f95025'
110711 15:06:30 VERBOSE 'Queueing event Client Authenticated Client<14>'
110711 15:06:30 BOT    'Client found in storage 21, welcome back [GK]GrossKopf'
110711 15:06:30 VERBOSE 'Parsing Event: Client Authenticated: MakeroomPlugin'
110711 15:06:30 DEBUG 'MakeroomPlugin: 17/18 connected players. Free slots : 1'
110711 15:06:54 VERBOSE 'MakeroomPlugin Client Authenticated : (ms) min(0.5), max(2.4), mean(1.6), stddev(0.5)'

My plugin_makeroom.xml:

Code: [Select]
<configuration plugin="makeroom">

    <settings name="global_settings">
        <!-- level (inclusive) under which players to kick will be chosen from (default: 2) -->
        <set name="non_member_level">1</set>
        <!-- delay in seconds between the time the info_message is shown and the kick happens.
        If you set this to 0, then no info_message will be shown and kick will happen
        instantly -->
        <set name="delay">10</set>
    </settings>

    <settings name="commands">
        <!-- Command to free a slot -->
        <set name="makeroom-mr">20</set>
        <!-- Command to enable/disable automation -->
        <set name="makeroomauto-mrauto">60</set>
    </settings>
    <settings name="messages">
        <!-- You can use the following keywords in your messages :
            $clientname
        -->
        <!-- kick_message will be displayed to all players when a player is kicked to free a slot -->
        <set name="kick_message">kicking $clientname to free a slot. Reserved slots available! Visit grosskopf-servers.com for details.</set>
        <!-- kick_reason will be displayed to the player to be kicked -->
        <set name="kick_reason">to make room for a server member. Reserved slots available! Visit grosskopf-servers.com for details.</set>
        <!-- info_message will be displayed to all before a player get kicked -->
        <set name="info_message">Making room for clan member, please come back again. Reserved slots available! Visit grosskopf-servers.com for details.</set>
    </settings>
    <settings name="automation">
        <!-- enabled : yes/no
          If yes, then this plugin will make sure that min_free_slots are kept free
          and kick all connecting player until min_free_slots are free.
         -->
        <set name="enabled">yes</set>
        <!-- The total number of slots on the server  -->
        <set name="total_slots">18</set>
        <!-- The number of slots to keep free -->
        <set name="min_free_slots">1</set>
    </settings>
</configuration>

 


Rate this page +1 at Google Search

anything