[Leather Mod] GroupGate - Whitelisting by Steam group, VAC ban days, and name content
34 replies, posted
GroupGate allows you to block player connections in 3 different ways, and moderate your server to some extent through the use of Steam group officers instead of ingame admins.
There are 3 blocking methods included, configurable in groupgate.cfg:
By Steam group:
With this method, users who are not members of your Steam group will not be able to play. This can be set in the configuration by setting the group's shortname after the 'lockgroup' setting in groupgate.cfg. For instance, if your group is 'http://steamcommunity.com/groups/vgrust' you would put 'vgrust' as the value. [B]There are some caveats for this method.[/B] Users MUST have their profiles public to connect, and they must have your group set to their Primary steam group, or be in less than 5 groups. In other words,[B] if your group doesn't show up on the front page of their public profile, they aren't getting in.[/B] To disable this feature, set the group to 'none'.
We use this feature on my personal server by making our Steam group invite only, and then letting officers kick members from the group if theyve been caught doing something they shouldn't. An admin then reviews whether or not to let them back in.
By VAC status:
This method doesn't kick users outright for having a VAC history like VACuum, but instead by how long ago their last VAC ban was. The default for this is 180 days, or around six months, and the value is configured with the 'minvacdays' setting in groupgate.cfg. With this setting, any user with a VAC ban newer than 6 months will get booted. To disabled this feature, set 'minvacdays' to -1.
By name content:
This method kicks anyone with untypeable characters in their name. Pretty simple. If it's an alt-key code character, they're getting the boot. This feature is enabled in groupgate.cfg by setting 'unusualnamecheck' to true. Set it false to disable it.
Download: [url]http://www.mediafire.com/download/sxqjdc4o01ci60v/GroupGate.rar[/url]
Can you provide source code, too?
[QUOTE=PreFix;43463239]Can you provide source code, too?[/QUOTE]
It's C# just decompile it with ILSpy
Is this compatible with Oxide at the moment?
[QUOTE=Demp5;43465231]Is this compatible with Oxide at the moment?[/QUOTE]
I don't believe so since they are both different APIs.
Would love this mod though.
Groupgate for Oxide would be so cool.
Oxide unfortunately isn't developer friendly. I assume they'll steal this and make their own before long though, so hang in there!
We're running a slightly modified version of this on our BMRF servers, great stuff.
[QUOTE=BARKx4;43463624]It's C# just decompile it with ILSpy[/QUOTE]
dotPeek is superior, and also free! But not open source. But I think you can dotPeek dotPeek, so.
EDIT: I've found it easier to view coroutines in ILspy, though, so there's that.
Bark: Please consider changing the method of this to using the XML feed of player profiles. regexing the primary profile page is dirty and prone to exploit/errors.
Parse this instead: [url]http://steamcommunity.com/id/bob/?xml=1[/url]
[QUOTE=w0rm;43469729]Bark: Please consider changing the method of this to using the XML feed of player profiles. regexing the primary profile page is dirty and prone to exploit/errors.
Parse this instead: [url]http://steamcommunity.com/id/bob/?xml=1[/url][/QUOTE]
i believe they are in the next version
[QUOTE=w0rm;43469729]Bark: Please consider changing the method of this to using the XML feed of player profiles. regexing the primary profile page is dirty and prone to exploit/errors.
Parse this instead: [url]http://steamcommunity.com/id/bob/?xml=1[/url][/QUOTE]
Working on it already, thanks though! I wasn't aware I could pull XML from Steam at the time I wrote this.
In which directory I have to copy the cfg-File?
The same as the mod-File? Or in the /config/ dir?
[QUOTE=Deejay-Mickey;43496238]In which directory I have to copy the cfg-File?
The same as the mod-File? Or in the /config/ dir?[/QUOTE]
in mods/config :)
Is anyone aware of a potential crash issue with this mod? My server (running ~80-110 players) has crashed multiple times in the last 48 hours, and I keep finding reference to GroupGate in the logs.
Excerpt:
[code]
(0x18E16FD7) (Mono JIT code): (filename not available): uLink.Network:CloseConnection (uLink.NetworkPlayer,bool,int) + 0x1f (18E16FB8 18E16FDC) [03B74E70 - Unity Root Domain] + 0x0
(0x18E16FA0) (Mono JIT code): (filename not available): NetCull:CloseConnection (uLink.NetworkPlayer,bool) + 0x18 (18E16F88 18E16FA5) [03B74E70 - Unity Root Domain] + 0x0
(0x18E16F01) (Mono JIT code): (filename not available): NetUser:Kick (NetError,bool) + 0xd9 (18E16E28 18E16F0F) [03B74E70 - Unity Root Domain] + 0x0
(0x37F927CD) (Mono JIT code): (filename not available): GroupGate.GroupGateBootstrap:<uLink_OnPlayerConnected>b__0 (object,System.Net.DownloadStringCompletedEventArgs) + 0x1dd (37F925F0 37F927D8) [03B74E70 - Unity Root Domain] + 0x0
(0x37F924F6) (Mono JIT code): (filename not available): System.Net.WebClient:OnDownloadStringCompleted (System.Net.DownloadStringCompletedEventArgs) + 0x2e (37F924C8 37F924FF) [03B74E70 - Unity Root Domain] + 0x0
(0x37F78B68) (Mono JIT code): (filename not available): System.Net.WebClient:<DownloadStringAsync>m__F (object) + 0x120 (37F78A48 37F78CC8) [03B74E70 - Unity Root Domain] + 0x0
(0x041200BF) (Mono JIT code): (filename not available): (wrapper runtime-invoke) object:runtime_invoke_void__this___object (object,intptr,intptr,intptr) + 0x47 (04120078 04120113) [03B74E70 - Unity Root Domain] + 0x0
[/code]
Any ideas? I really don't want to turn off the ability to kick on non standard characters but I wonder if people have found a way to torch the server with certain characters?
miR
[QUOTE=miR;43506426]Is anyone aware of a potential crash issue with this mod? My server (running ~80-110 players) has crashed multiple times in the last 48 hours, and I keep finding reference to GroupGate in the logs.
Excerpt:
[code]
(0x18E16FD7) (Mono JIT code): (filename not available): uLink.Network:CloseConnection (uLink.NetworkPlayer,bool,int) + 0x1f (18E16FB8 18E16FDC) [03B74E70 - Unity Root Domain] + 0x0
(0x18E16FA0) (Mono JIT code): (filename not available): NetCull:CloseConnection (uLink.NetworkPlayer,bool) + 0x18 (18E16F88 18E16FA5) [03B74E70 - Unity Root Domain] + 0x0
(0x18E16F01) (Mono JIT code): (filename not available): NetUser:Kick (NetError,bool) + 0xd9 (18E16E28 18E16F0F) [03B74E70 - Unity Root Domain] + 0x0
(0x37F927CD) (Mono JIT code): (filename not available): GroupGate.GroupGateBootstrap:<uLink_OnPlayerConnected>b__0 (object,System.Net.DownloadStringCompletedEventArgs) + 0x1dd (37F925F0 37F927D8) [03B74E70 - Unity Root Domain] + 0x0
(0x37F924F6) (Mono JIT code): (filename not available): System.Net.WebClient:OnDownloadStringCompleted (System.Net.DownloadStringCompletedEventArgs) + 0x2e (37F924C8 37F924FF) [03B74E70 - Unity Root Domain] + 0x0
(0x37F78B68) (Mono JIT code): (filename not available): System.Net.WebClient:<DownloadStringAsync>m__F (object) + 0x120 (37F78A48 37F78CC8) [03B74E70 - Unity Root Domain] + 0x0
(0x041200BF) (Mono JIT code): (filename not available): (wrapper runtime-invoke) object:runtime_invoke_void__this___object (object,intptr,intptr,intptr) + 0x47 (04120078 04120113) [03B74E70 - Unity Root Domain] + 0x0
[/code]
Any ideas? I really don't want to turn off the ability to kick on non standard characters but I wonder if people have found a way to torch the server with certain characters?
miR[/QUOTE]
Working on confirming/fixing this right now. Thanks for the heads up. I'll update as soon as have something ready.
Appreciated Bark, let me know - Honestly I've been running with it even though it's causing the crashes because it's simply not worth letting the players with non standard characters in their name onto the server as I cannot kick them.
Again, thanks for looking into this.
miR
Are you running any other mods by any chance?
Leather 1.0, and Rust++ 1.3.4.
[editline]12th January 2014[/editline]
Am now updating to Rust++ 1.4.1 - Will report back with further crashes. I've got all the crash data if it would help you out Bark? I can zip them all up and put them on sendspace.
miR
would it be possible to disallow access to the sever via userlevel
Groupgate was abandoned ?
I don' tthink so but the creator's banned for another 48 hours.
[QUOTE=CanVox;43530805]I don' tthink so but the creator's banned for another 48 hours.[/QUOTE]
oh my god lol.. this is another mod that i want to have a try, im loving to use Rust++ and DropParty
Yeah group gate is not working for me either :( I try to connect get to trees then disconnects, Without the group gate mod it works no problem.
It looks like right now there is an issue with the vac ban feature disconnecting people wrongly. If you're getting booted and you're sure your config is set right, set minvacdays to -1 to disable that feature.
I'm doing final testing right now to hunt down the crash bug, it is rare but happens, I should hopefully have a new version posted in a few days for Leather 1.1
EDIT: Woops, forget this.
[QUOTE=BARKx4;43564224]It looks like right now there is an issue with the vac ban feature disconnecting people wrongly. If you're getting booted and you're sure your config is set right, set minvacdays to -1 to disable that feature.
I'm doing final testing right now to hunt down the crash bug, it is rare but happens, I should hopefully have a new version posted in a few days for Leather 1.1[/QUOTE]
Hey, thanks for response I can confirm it is something with the mod causing the disconnection on connecting. not the .cfg file.
[QUOTE=quickrich;43568537]Hey, thanks for response I can confirm it is something with the mod causing the disconnection on connecting. not the .cfg file.[/QUOTE]
I haven't had any other reports of this, can you post the contents of your cfg just to be sure?
Do you have access to server logs? Are there any errors that show up when you get disconnected?
Can we get a 1.1 version of this?
hey bark is it comming ?
Sorry, you need to Log In to post a reply to this thread.