Hardware? I always thought changing hardware in your system changed a GUID?
Server admin levels?
Interesting. Yeah, that definitely wouldn’t work. SteamID is static. That’s the way to go.
Thanks for the bump and I hope we’ll get more of those.
There are definitely remnants of previous games. If I ban myself on a local dedicated server, the game creates a guidstates.dat that has the same format as the one that was used by Quake Wars. It contains the user guid you see when you type “printuserguid” in the console, my name and the ban time:
entry {
"guid" "12345678901234567"
"user_name" "bhº DrFunkenstein"
"ban_time" "forever"
}
That’s exactly what would happen in Quake Wars and it looks like they didn’t change how that works since I can also use the same file to log in as an “admin” as shown above.
The basics are still there, but you can’t really use them
.
Dr. Funkenstein
The guid you would see when you typed that in the console depended on the name/account you used. If you created different accounts in Quake Wars, each one would get a different game guid. The Punkbuster guid would be the same for every account though.
Dr. Funkenstein
[QUOTE=DrFunkenstein;313267]The guid you would see when you typed that in the console depended on the name/account you used. If you created different accounts in Quake Wars, each one would get a different game guid. The Punkbuster guid would be the same for every account though.
Dr. Funkenstein[/QUOTE]
Bumpage.
Sorry, still a bit unclear. Do we know yet what the guid is tied to for Brink when you consider that it is a Steam-only game? Does this mean that we can safely assume the guid is essentially tied to SteamID (Steam Account) and not going to change if, as one person suggested, the hardware on that person’s machine significantly changes, or if they simply change their Steam name?
Well, I changed my Steam name (DrFunkenstein) to something completely different, and the guid stayed the same.
Which is nice, since the way it worked in Quake Wars, had it’s problems. There you could create different accounts with the same CD, and each account had it’s own guid. Bans from within the game were based on that guid and didn’t mean much if you knew how it worked. If you banned someone, he could come back immediately under a different name, and we had a lot of trouble with that.
Dr. Funkenstein
So, when I did
net_clientremoteconsolepassword <pw>
and then I did
rcon admin <cmd>
it said insufficient user right or something.
When I would automaticly be assigned into Admin group, would the commands work then?
Even without logging into rcon?
So I would drop the console and do
admin restartMap
Or does it not work at all?
net_clientremoteconsolepassword gives you access to rcon. So you can just do:
rcon restartmap (if that is the right command, can’t check atm)
Problem with rcon is that it gives full access to the server.
Warning, long post ahead
.
Don’t know why the rcon command failed for you, that should definitely work. Typo in the rcon password?
I just ran a couple of tests on my local dedicated server with the following usergroups.dat and guidstates.dat.
Usergroups.dat
// *************************************************************************
// NOTE: MAKE SURE TO SET YOUR PASSWORD BELOW
// If the password is not set, you will not be able to log in
// *************************************************************************
// *************************************************************************
// NOTE: The server must be fully restarted for changes to take effect
// *************************************************************************
// Players may only log into a group with a password
// votelevel controls the type of votes that each user group can call
// these levels are setup in the "votes" block at the end of this file
//**************************************************************************
// Brink Server usergroups.dat
// Created by Dr. Funkenstein
// Version 1.1
//**************************************************************************
group Default {
// This controls which votes a player within this group may issue
voteLevel 1
}
group Protected {
password 12345
control {
Protected
Default
}
// these control what other groups may not do to users in this group
noBan
noKick
noMute
noWarn
noMuteVoip
quietLogin
// This controls which votes a player within this group may issue
voteLevel 1
}
group Trusted {
password 23456
control {
Trusted
Protected
Default
}
// these control the actions that can be carried out by this group
// adminKick
// adminLogin
// adminBan
// adminSetTeam
// adminKickAllBots
// adminChangeMap
// adminGlobalMute
// adminGlobalVOIPMute
// adminPlayerMute
// adminPlayerVOIPMute
// adminRestartMap
// adminNextStopWatchRound
// adminChangeUserGroup
// adminStartMatch
// adminExecConfig
// adminShuffleTeams
// adminAddbot
// adminAdjustBots
// adminDisableProficiency
// adminSetTimeLimit
// adminSetTeamDamage
// adminSetTeamBalance
// these control what other groups may not do to users in this group
noBan
noKick
noMute
noWarn
noMuteVoip
quietLogin
// This controls which votes a player within this group may issue
voteLevel 2
}
group Crytical {
password 34567
// This sets which groups people in this group may move other people into
control {
Admin
Trusted
Protected
Default
}
// these control the actions that can be carried out by this group
adminKick
adminLogin
adminBan
adminSetTeam
adminKickAllBots
adminChangeMap
adminGlobalMute
adminGlobalVOIPMute
adminPlayerMute
adminPlayerVOIPMute
adminRestartMap
adminNextStopWatchRound
adminChangeUserGroup
adminStartMatch
adminExecConfig
adminShuffleTeams
adminAddbot
adminAdjustBots
adminDisableProficiency
adminSetTimeLimit
adminSetTeamDamage
adminSetTeamBalance
// these control what other groups may not do to users in this group
noBan
noKick
noMute
noWarn
noMuteVOIP
quietLogin
// This controls which votes a player within this group may issue
voteLevel 5
}
// typing "listvotes" in the game console will list all existing votes and their vote level
votes {
"nextobjectivemap" "5"
"nextstopwatchmap" "5"
"setobjectivemap" "5"
"setstopwatchmap" "5"
"setcampaign" "5"
"shufflexp" "5"
"shufflerandom" "5"
"swapteams" "5"
"balancedteams" "5"
"teamdamage" "5"
"noxp" "5"
"servermode" "5"
"kickplayer" "5"
"muteplayer" "5"
"muteplayervoip" "5"
}
guidstates.dat
entry {
"guid" "12345678901234567"
"auth_group" "admin"
"user_name" "bhº DrFunkenstein"
}
The guid is a fake, you need to find out what your own guid is by typing “printuserguid” in the console and use that instead.
When I join my local server, I get logged into the “admin” group automatically. I did a couple of tests and they worked as expected.
- restarting the map with “admin maprestart” worked;
- changing the map with “admin changemap mp/mapname.entities” worked;
- kick all bots with “admin kickallbots”, worked as well, but they get replenished by different ones immediately
; - changing my usergroup from admin to trusted, worked when I used “admin changeUserGroup 0 trusted” and it deprived me of my rights to use the admin command; that’s what I expected since I commented out every admin command in my usergroups.dat for that group.
All these things were done from the console in the client without any use of the rcon command.
There are a couple of things I don’t understand though.
I tried renaming the “admin” group in my usergroups.dat to “crytical”. I adjusted the guidstates.dat accordingly, changed “auth_group” “admin” to “auth_group” “crytical”, but I didn’t get logged into the correct group when I joined my local server.
I renamed the group back to “admin”, restarted the server and the auto login worked again.That’s just weird. To me “admin” is just a name when you define different groups in your server.
When I try to move myself to one of the different groups that are defined in the usergroups.dat, I get mixed results. If I try “admin changeUserGroup 0 trusted” it’ll work. If I try to move myself to the protected group with with “admin changeusergroup 0 protected” nothing happens even though group is defined in the same file in the same way. Moving myself to the default group works as expected.
Is some of this hard-coded? Am I doing something wrong? I would really appreciate some input from SD on this.
Dr. Funkenstein
Great info DrFunkenstein. Do you know if the “user_name” in guidstates.dat can be left out or if it matters? In other words, could someone change their name in Steam and thus break their authentication?
Didn’t you post before that auto-login wasn’t working right? Was it just that you assumed you needed to prefix commands with “rcon” when in reality, as you said above, you don’t?
Thank you for your time in testing all this DrFunkenstein 
About the group name:
Maybe your server’s savepath is in a different location (I know mine is) and the guidstates files might be loaded (/copied) in that location and you’d need to delete it.
I will copy over my stuff from ETQW then, and check which commands are available.
I so hope the exec config thing works xD.
Will get back to you all.
EDIT:
Where did you find these commands:
noBan
noKick
noMute
noWarn
quietLogin
etc?
EDIT 2:
(Note, I ordered the commands in an estathic order)
BRINK Admin commands:
admin login
admin changeUserGroup
admin globalMute
admin globalVOIPMute
admin playerMute
admin playerVOIPMute
admin startMatch
admin restartMap
admin changeMap
admin nextStopWatchRound
admin setTeam
admin setTimeLimit
admin setTeamDamage
admin setTeamBalance
admin shuffleTeams
admin kick
admin ban
admin unBan
admin listBans
admin addbot
admin adjustBots
admin kickAllBots
admin execConfig
admin disableProficiencyBRINK Vote commands:
“nextobjectivemap” “-1”
“nextstopwatchmap” “-1”
“setobjectivemap” “-1”
“setstopwatchmap” “-1”
“setcampaign” “-1”
“shufflexp” “-1”
“shufflerandom” “-1”
“swapteams” “-1”
“balancedteams” “-1”
“teamdamage” “-1”
“noxp” “-1”
“servermode” “-1”
“kickplayer” “-1”
“muteplayer” “-1”
“muteplayervoip” “-1”
My guess is, you need to place them as follows in your config:
// these control the actions that can be carried out by this group
adminKick
adminLogin
adminBan
adminSetTeam
adminKickAllBots
adminChangeMap
adminGlobalMute
adminGlobalVOIPMute
adminPlayerMute
adminPlayerVOIPMute
adminRestartMap
adminNextStopWatchRound
adminChangeUserGroup
adminStartMatch
adminExecConfig
adminShuffleTeams
adminAddbot
adminAdjustBots
adminDisableProficiency
adminSetTimeLimit
adminSetTeamDamage
adminSetTeamBalance
adminListBans
adminUnBan
And the number behind the votes is the votelevel I believe. Which atm is “-1” thus disabled?
[QUOTE=Bettik;316017]Great info DrFunkenstein. Do you know if the “user_name” in guidstates.dat can be left out or if it matters? In other words, could someone change their name in Steam and thus break their authentication?
Didn’t you post before that auto-login wasn’t working right? Was it just that you assumed you needed to prefix commands with “rcon” when in reality, as you said above, you don’t?[/QUOTE]
[QUOTE=DrFunkenstein;315273]Well, I changed my Steam name (DrFunkenstein) to something completely different, and the guid stayed the same.
Which is nice, since the way it worked in Quake Wars, had it’s problems. There you could create different accounts with the same CD, and each account had it’s own guid. Bans from within the game were based on that guid and didn’t mean much if you knew how it worked. If you banned someone, he could come back immediately under a different name, and we had a lot of trouble with that.
Dr. Funkenstein[/QUOTE]
I’m trying to figure out how this works, I don’t have all the answers. It would be great if other people would try the things I specified above and report if that worked for them or not.
Dr. Funkenstein
Ok, I have got it working, altho the votes still keep at “-1” and are not available
This prolly has to do with the Competition config I run which turns voting off
// VALID EXAMPLES:
// entry {
// “ip” “CHANGE_IP” // ip", with data being a string representing the ip of the client, e.g. “192.168.0.23”
// “auth_group” “Admin” // “auth_group”, with data as the name of the group to auth as, e.g. “Admin”
// }
// entry {
// “pbid” “CHANGE_PBID” // “pbid”, with data being the punkbuster guid of the client
// “auth_group” “Admin” // “auth_group”, with data as the name of the group to auth as, e.g. “Admin”
// }
// entry {
// “guid” “CHANGE_GUID” // “guid”, with data being the game guid, e.g. “12345678.87654321”
// “auth_group” “Admin” // “auth_group”, with data as the name of the group to auth as, e.g. “Admin”
// }// INVALID EXAMPLE:
// entry {
// “ip” “CHANGE_IP”
// “pbid” “CHANGE_PBID”
// “auth_group” “Admin”
// }//////////////////////////
// ADMIN SECTION
// Crytiqal.Aero
entry {
“guid” “12345678901234567”
“auth_group” “Admin”
}
You dont need user_name
(never used it in etqw either)
Here are the files I am using, change the password to something else.
The config files are just an example left-over from ETQW.
Also, the few commands DrFunkenstein found are not in since I don’t know/can’t find them.
Will add them when confirmed 
Guidstates.dat
// Auto-admin login
// VALID EXAMPLES:
// entry {
// "ip" "CHANGE_IP" // ip", with data being a string representing the ip of the client, e.g. "192.168.0.23"
// "auth_group" "Admin" // "auth_group", with data as the name of the group to auth as, e.g. "Admin"
// }
// entry {
// "pbid" "CHANGE_PBID" // "pbid", with data being the punkbuster guid of the client
// "auth_group" "Admin" // "auth_group", with data as the name of the group to auth as, e.g. "Admin"
// }
// entry {
// "guid" "CHANGE_GUID" // "guid", with data being the game guid, e.g. "12345678.87654321"
// "auth_group" "Admin" // "auth_group", with data as the name of the group to auth as, e.g. "Admin"
// }
// INVALID EXAMPLE:
// entry {
// "ip" "CHANGE_IP"
// "pbid" "CHANGE_PBID"
// "auth_group" "Admin"
// }
//////////////////////////
// ADMIN SECTION
// Crytiqal.Aero
entry {
"guid" "xxxxxxxxxxxxxxxxx"
"auth_group" "Admin"
}
//////////////////////////
// COMPETITION PLAYERS
Usergroups.dat
// *************************************************************************
// NOTE: MAKE SURE TO SET YOUR PASSWORD BELOW
// If the password is not set, you will not be able to log in
// *************************************************************************
// *************************************************************************
// NOTE: The server must be fully restarted for changes to take effect
// *************************************************************************
// Players may only log into a group with a password
// votelevel controls the type of votes that each user group can call
// these levels are setup in the "votes" block at the end of this file
// *************************************************************************
// NOTE: Negative values for voteLevel are not currently supported
// The default vote level is 0
// *************************************************************************
group Default {
// This controls which votes a player within this group may issue
voteLevel 1
}
group Trusted {
// This controls which votes a player within this group may issue
voteLevel 2
}
group Members {
password mypassword1
// This sets which groups people in this group may move other people into
control {
Default
Trusted
Members
}
// these control the actions that can be carried out by this group
adminLogin // New command **
// adminChangeUserGroup // New command **
// adminGlobalMute
// adminGlobalVOIPMute
adminPlayerMute
adminPlayerVOIPMute
adminStartMatch
adminRestartMap
adminChangeMap
// adminRestartCampaign // Deprecated
// adminChangeCampaign // Deprecated
adminNextStopWatchRound // New command **
adminSetTeam
adminSetTimeLimit
adminSetTeamDamage
adminSetTeamBalance
adminShuffleTeams
// adminWarn // Deprecated
adminKick
adminBan
adminUnBan // New command **
adminListBans // New command **
adminAddBot
adminAdjustBots
adminKickAllBots // New command **
adminExecConfig
// adminDisableProficiency
// these control what other groups may not do to users in this group
// noBan
noKick
noMute
noWarn
noMuteVOIP
quietLogin
// This controls which votes a player within this group may issue
voteLevel 3
}
group Admin {
password mypassword2
// This sets which groups people in this group may move other people into
control {
Default
Trusted
Members
Admin
}
// these control the actions that can be carried out by this group
adminLogin // New command **
adminChangeUserGroup // New command **
adminGlobalMute
adminGlobalVOIPMute
adminPlayerMute
adminPlayerVOIPMute
adminStartMatch
adminRestartMap
adminChangeMap
// adminRestartCampaign // Deprecated
// adminChangeCampaign // Deprecated
adminNextStopWatchRound // New command **
adminSetTeam
adminSetTimeLimit
adminSetTeamDamage
adminSetTeamBalance
adminShuffleTeams
// adminWarn // Deprecated
adminKick
adminBan
adminUnBan // New command **
adminListBans // New command **
adminAddBot
adminAdjustBots
adminKickAllBots // New command **
adminExecConfig
adminDisableProficiency
// these control what other groups may not do to users in this group
noBan
noKick
noMute
noWarn
noMuteVOIP
quietLogin
// This controls which votes a player within this group may issue
voteLevel 4
}
// This controls any configs which you may allow players to exec
// they must be placed in the game's base/ folder
configs {
"^74^pv^74_^nCompetition" "server_cfg/server_comp/4on4_Competition.cfg"
"^76^pv^76_^nCompetition" "server_cfg/server_comp/6on6_Competition.cfg"
"TLR 4v4" "server_cfg/server_comp/tlr4on4.cfg"
"TLR 5v5" "server_cfg/server_comp/tlr5on5.cfg"
"TLR 6v6" "server_cfg/server_comp/tlr6on6.cfg"
}
// typing "listvotes" in the game console will list all existing votes and their vote level
votes {
"servermode" "4" // vote a cfg to be executed (specified in usergroups.dat in 'configs')
"setcampaign" "4" // vote to change campaign in Campaign Mode or to change the RulesSet to Campaign
"setobjectivemap" "3" // vote to change map in Objective Mode or to change the RulesSet to Objective
"setstopwatchmap" "3" // vote to change map in StopWatch Mode or to change the RulesSet to StopWatch
"nextobjectivemap" "3"
"nextstopwatchmap" "3"
"kickplayer" "1" // vote to kick a player
"muteplayer" "1" // vote to mute a player
"muteplayervoip" "2" // vote to mute a player chat
"teamdamage" "2" // vote to enable/disable teamdamage
"balancedteams" "1" // vote to enable/disable teamForceBalance
"noxp" "2" // vote to enable/disable upgrades
"shufflexp" "1" // vote to rebalance teams by XP
"shufflerandom" "1" // vote to rebalance teams randomly
"swapteams" "1" // vote to swap teams
}
Admin levels/user groups are unsupported, they may or may not work (not been tested since ETQW). Looks like parts may be functional enough to be useful.
Thanks for the very detailed reply and thanks for posting the files you used.
The noKick, noBan etc is something I copied from the usergroups.dat file that we use for our Quake Wars server. I have no idea if it works or not. I hope I’ll be able to test that tomorrow. I can’t test that on my own, you need a couple of players on a server to do that. Any volunteers?
[QUOTE=Crytiqal;316127]Thank you for your time in testing all this DrFunkenstein 
About the group name:
Maybe your server’s savepath is in a different location (I know mine is) and the guidstates files might be loaded (/copied) in that location and you’d need to delete it.
I will copy over my stuff from ETQW then, and check which commands are available.
I so hope the exec config thing works xD.
Will get back to you all.
EDIT:
Where did you find these commands:
noBan
noKick
noMute
noWarn
quietLogin
etc?
EDIT 2:
My guess is, you need to place them as follows in your config:
And the number behind the votes is the votelevel I believe. Which atm is “-1” thus disabled?[/QUOTE]
The usergroups.dat file I posted should limit vote rights to people in the “admin” group. That worked at some point (see Serenade’s post earlier in this thread) but it doesn’t work at the moment for some reason unknown to me. If I type “listvotes” in the console, everything is set to “-1”, which is the default but that’s not how it worked when we tried it the first time. Grrrrr.
A couple of screenshots:
Admin, trusted and default seem to work, the protected group isn’t recognized for some reason even though it’s included in the usergroups.dat file that I used.
@Crytical: could you try to login as an admin and then try to change you own user group to “Members” and see if that works?
Dr. Funkenstein
Thanks for the reply AO, we’ll continue to try and figure out what works and what doesn’t
,
It would be nice if something like this would be properly implemented and supported. Again, I’m not asking for this to be done in the way Quake Wars worked, anything will do as long as it works, but I liked how it gave you control over the rights for everyone on the server and I really hope something similar will become available in this game.
Dr. Funkenstein
And is there any reason WHY SD decided to cripple this system? 
Or will this be functional with the upcoming patches again?
@DrFunkenstein
Do you have steam? We might get together on my server and test some stuff out if your willing?
My steamID = crytiqal
Sure, I’ll add you to my friends list. If other people feel like testing this a bit further, please add Crytical or me to your own friends list. My steam name is DrFunkenstein.
Dr. Funkenstein



