This is a quick how-to guide on setting up and viewing the new player groups feature in the bot update. I will be using The Lounge (irc) as that is the best place to see this stuff and interact with the bot.
The player group system replaces donor levels which are now one of the group settings. Also the /add donor command has changed as it no longer wants donor level.
The add donor command now looks like this.. /add donor {player name} expires {number} week or month or year
The player group system has uses beyond just donors. You can make a player group for anything but a player can only belong to one group at a time. The reason for this is that player groups are essentially just a collection of bot settings such as limits on number of bases, cooldown timers, being allowed to use the shop and play gimme and more. These settings do not build on the settings in other player groups so multi-group membership would be pointless. Also in the case of admins, many settings such as cooldowns are completely ignored anyway so having a staff player group will only apply some but not all settings to admins.
The real power of player groups is in making fine adjustments to bot settings for different groups of players or even for an individual player. You can totally make a player group for just one player if you wanted to. A natural use would be for different 'levels' of donors for example lifetime donors versus one month donors. Later on I will add more features to player groups so that they can be applied to more of the bot for example they could have a link to the clan system or a shared bank or shared XP. If there is a demand for some feature like that and it makes sense to add it, I will add it. This is just the first roll-out of the new system.
I am aware that other server managers have player groups. I did not copy them, have not seen them and do not want to know how they did their group system. My group system solves the problem of donor levels and this was the obvious solution to that problem. I ran with it and went a little nuts but I like what it has become and can see a ton of potential in it.
Here is the group command help. I will continue the guide at the bottom of it..
help groups
/set server group {group name} (one word)
This is used by the bots database which could be a cloud database. It is used to identify this bot as belonging to a group if you have more than one server. You do not need to set this.
ACL: 0 restricted to server owners, in-game and IRC
/add group {group name}
/remove group {group name}
Add or remove a group.
When removing a group, all players that are members of it will be removed from it.
ACL: 0 restricted to server owners, in-game and IRC
/group {number or name} add {name}
/group {number or name} remove {name}
Add or remove a player from a group.
Players can only belong to one group at a time so adding them to a group automatically removes them from another.
ACL: 1 restricted to owners and admins, in-game and IRC
/copy group {number or name} to {new group name}
Make a new group using the settings from an existing group.
If the new group already exists, it's settings will be replaced with the settings from the first group.
Player group assignments will not be changed.
ACL: 0 restricted to server owners, in-game and IRC
/empty group {group number or name}
Remove all members of the group.
ACL: 2 restricted to owners, admins and mods, in-game and IRC
/list group {number or name}
View a group's current settings.
ACL: 2 restricted to owners, admins and mods, in-game and IRC
/list group members {group number or name}
See a list of players that belong to a group.
ACL: 2 restricted to owners, admins and mods, in-game and IRC
/list groups
See a numbered list of the player groups.
ACL: 2 restricted to owners, admins and mods, in-game and IRC
/list no group
View the settings for everyone not in a group.
ACL: 2 restricted to owners, admins and mods, in-game and IRC
/move group members {old group number or name} to {new group number or name}
Move all members of a group to another group.
ACL: 0 restricted to server owners, in-game and IRC
/group settings
View info about group settings for use in /group {group} set {setting number} value {value}.
ACL: 1 restricted to owners and admins, in-game and IRC
/group {number or name} set {setting number from list} value {a value}
Change the value of one of the group's settings.
To see the numbered list of settings type /group settings and note the number of the setting you wish to change.
Depending on the setting, {a value} will be a number, or Y or N, or some text
For Y/N settings the bot will also accept yes/no, true/false, on/off or enabled/disabled.
ACL: 1 restricted to owners and admins, in-game and IRC
Hi again! ^^
So the old bot has lots of settings for stuff like enabling or disabling waypoints, how many waypoints, various base settings etc. The updated bot adds a new player groups feature which is a copy of all of those settings and which only applies to members of the player group. The bot makes a Donors player group automatically and will populate it with all your non-expired donors if you have any. It tries to faithfully set up your original donor only settings though it isn't perfect yet and you will want to review the donor group's settings and make a few changes.
Note that all of the group commands are in-game commands and we can do in-game commands from The Lounge by putting cmd in front. To list your player groups type cmd /list groups. Oh also if your bot is using something else for commands such as ! you'll want to type cmd !list groups.
cmd /list groups
Group #1 Donors
Group #2 New Players
Group #6 staff
To view the current settings in the donors group type cmd /list group donors
cmd /list group donors
Group #1 Donors
1 Play Gimme No
2 Home teleport Yes
3 Play lottery Yes
4 P2P teleporting No
5 Shop open Yes
6 Players can teleport Yes
7 Visit pvp areas No
8 Can use waypoints Yes
9 Base cooldown 900
10 Base cost 0
11 Base size 32
12 Player name colour f4ff65
13 Death cost 100
14 Gimme spawns zombies Yes
15 Hardcore mode No
16 Lottery multiplier 2
17 Lottery ticket price 25
18 Map size 10000
19 Max bases 3
20 Max gimmies 16
21 Max active base protects 1
22 Max waypoints 2
23 Group name Donors
24 Player name prefix
25 P2P cooldown 900
26 Pack cooldown 30
27 Pack cost 0
28 Per minute play payment 0
29 Player teleport delay 30
30 Allow protect in pvp areas No
31 Can reserve a slot No
32 Return cooldown 0
33 Teleport cost 0
34 Public teleport cooldown 0
35 Public teleport cost 0
36 Waypoint cooldown 60
37 Waypoint cost 500
38 Waypoint creation cost 5000
39 Zombie kill payment 3
40 Block setting base protection No
41 Cooldown for set base 0
42 Cooldown for set waypoint 0
43 Access level 50
44 Donor group Yes
45 Cooldown for gimme 0
Notice that each setting is numbered. We use these numbers to make changes to them. Let's change one now ^^ Also notice that the Donors group is group 1.
Type cmd /group 1 set 19 value 2
This will change max bases from 3 to 2. Can't have them setting too many bases now can we? :O
cmd /group 1 set 19 value 2
maxBases set to 2 for Donors
The group settings accept different things depending on what they represent. Some want numbers, some want yes or no, others want text. You can view a list of all of these as well. Type cmd /group settings
cmd /group settings
1 Play Gimme (y/n)
2 Home teleport (y/n)
3 Play lottery (y/n)
4 P2P teleporting (y/n)
5 Shop open (y/n)
6 Players can teleport (y/n)
7 Visit pvp areas (y/n)
8 Players can set waypoints (y/n)
9 Base cooldown (min 0)
10 Base cost (min 0)
11 Base size (min 10)
12 Player name colour (text 6)
13 Death cost (min 0)
14 Gimme spawns zombies (y/n)
15 Hardcore mode (y/n)
16 Lottery multiplier (min 1)
17 Lottery ticket price (min 1)
18 Map size (min 512)
19 Max bases (min 0)
20 Max gimmies (min 0)
21 Max active base protects (min 0)
22 Max waypoints (min 0)
23 Group Name (text 50)
24 Player name prefix (text 20)
25 P2P cooldown (min 0)
26 Pack cooldown (min 0)
27 Pack cost (min 0)
28 Per minute play payment (min 0)
29 Player teleport delay (min 0)
30 Allow protect in pvp areas (y/n)
31 Players can use reserved slots (y/n)
32 Return cooldown (min 0)
33 Teleport cost (min 0)
34 Public teleport cooldown (min 0)
35 Public teleport cost (min 0)
36 Waypoint cooldown (min 0)
37 Waypoint cost (min 0)
38 Waypoint creation cost (min 0)
39 Zombie kill payment (min 0)
40 Block setting of base protection (y/n)
41 Cooldown for set base command (min 0)
42 Cooldown for set waypoint command (min 0)
43 To block access for non-members (min 0)
44 Flag to identify group as a donors (y/n)
Notice that each setting has something in brackets after it. (y/n) means the setting accepts y or n (The bot will actually accept lots of variations on yes and no.). (text 50) means a setting expects some text up to a maximum of 50 characters in length. (min 0) means the setting expects a number and 0 is the lowest value allowed.
Now let's see who the group members are. Type cmd /list group members donors
cmd /list group members donors
Players in group Donors
765611xxxxxxxxxxx Noobinator
76561197983251951 Smegz0r
765611xxxxxxxxxxx Smushem
765611xxxxxxxxxxx Highope
Donors has 4 members.
I censored out other people's steam id's but you get the idea.
Let's remove Noobs (Out I say!)
cmd /group 1 remove noob
Player Noobinator was removed from group Donors
On second thought let's add him back in (just this once).
cmd /group 1 add noob
Player Noobinator was added to group Donors
Let's make a new group from the Donors group. The new group will have a complete copy of all of the Donors group's settings
cmd /copy group Donors to OtherDonors
The new group OtherDonors has been created from group donors
But the new group doesn't automatically get all of the members from the Donors group because players can only belong to one group at a time. It is up to you to populate the new group how you see fit.
cmd /list group members otherdonors
Players in group OtherDonors
No players in group.
You can move all members of one group to another group. eg. cmd /move group members donors to otherdonors
We'd better check that the new group does indeed have the same settings as Donors..
cmd /list group otherdonors
Group #7 OtherDonors
1 Play Gimme No
2 Home teleport Yes
3 Play lottery Yes
4 P2P teleporting No
5 Shop open Yes
6 Players can teleport Yes
7 Visit pvp areas No
8 Can use waypoints No
9 Base cooldown 900
10 Base cost 0
11 Base size 32
12 Player name colour f4ff65
13 Death cost 100
14 Gimme spawns zombies Yes
15 Hardcore mode No
16 Lottery multiplier 2
17 Lottery ticket price 25
18 Map size 10000
19 Max bases 2
20 Max gimmies 16
21 Max active base protects 1
22 Max waypoints 2
23 Group name OtherDonors
24 Player name prefix
25 P2P cooldown 900
26 Pack cooldown 30
27 Pack cost 0
28 Per minute play payment 0
29 Player teleport delay 30
30 Allow protect in pvp areas No
31 Can reserve a slot No
32 Return cooldown 0
33 Teleport cost 0
34 Public teleport cooldown 0
35 Public teleport cost 0
36 Waypoint cooldown 60
37 Waypoint cost 500
38 Waypoint creation cost 5000
39 Zombie kill payment 3
40 Block setting base protection No
41 Cooldown for set base 0
42 Cooldown for set waypoint 0
43 Access level 50
44 Donor group Yes
45 Cooldown for gimme 0
Lastly let's make a new group
cmd /add group Bunnies
The group Bunnies has been created with current bot settings.
That about wraps up using the new player groups feature. It replaces the need to have donor levels which were going to be tricky to implement and player groups with their own set of permissions is a much more flexible system anyway. Also note that players can only belong to one group at a time and the group settings will always override the normal bot settings that are applied to players not in a group. Admins are a special group of players that ignore many limits. If you are an admin and want to test out a group, you will need to add yourself to the group then remove your admin status. The /test as player command doesn't entirely forget that you are an admin.