• Frosty Server Administration 3
    28 replies, posted
[IMG]http://q.imgtube.net/ss6en.png[/IMG] This is version 3 of my administration mod used on some servers famed on Catalyst-Gaming and the Official Deception Server #1. Mainly it features a COMPLETE overhaul of the client side interface, I learn't a lot from what people wanted through constructive criticism. [B]Main features includes:[/B] -Very fast and easy to use interface. -Extremely powerful disguise system. (As an admin when you join only the server knows your an admin until you remove the disguise) -Very simple and effective plugin system. -Straight forward kick/ban menus -Easy method to set ranks. (Can't set your own rank, owner can only be given in server console) -Very handy remote console, shows unknown commands and black listed commands. (Brings print and Msg to the remote console very useful for debugging) -Interface brings you some useful information about the server. [B]Ranks: [/B]Owner = 0 Super Admin = 1 Admin = 2 Gold Member = 3 VIP = 4 Player = 5 (used as disguise can be changed easily) [B]Plugin Build:[/B] [lua]local PLUGIN = {} PLUGIN.Name = "Kill" --Name to be displayed PLUGIN.File = "kill.lua" --filename of plugin like "kill.lua" PLUGIN.Client = true --Run Client Side PLUGIN.Server = true --Run Server Side PLUGIN.AllowSelf = true --Sets if admin can perform action on self (NOTE: CanPerform is not called if the action is on self) PLUGIN.CanPerform = function( target, caller ) --sends the player to act on and the caller to allow custom permission settings return caller:FSA_Level() < target:FSA_Level() end PLUGIN.RunFunction = function( target, caller ) --Not called if SubMenufunction or SubMenu is defined target:Kill() target:ChatPrint( "[FSA] You have been killed by an admin" ) caller:ChatPrint( "[FSA] You have killed " .. target:Nick() ) end FSA_LoadPlugin(PLUGIN) --Call this to load the plugin[/lua] [B]Usage:[/B] To open the menu: bind <key> "+fsa_menu" To obtain ownership enter in the SERVER console: (USERID can be found by using "status" in client or server console) fsa_giveowner <userid> To unban use: (Must be Super Admin or higher) fsa_unban <SteamID> [B]Download:[/B] SVN: [url]http://frosty-server-administration.googlecode.com/svn/trunk/[/url] Alternative: [url]http://frosty-server-administration.googlecode.com/files/FSA.zip[/url] [B]Pictures:[/B] The Main console: [URL="http://d.imgtube.net/TTWfo.png"][IMG]http://d.imgtube.net/TTWfo.png[/IMG][/URL] Console after selecting a player, plugins that don't allow self action if self is selected are not listed. [URL="http://y.imgtube.net/1FDkx.png"][IMG]http://y.imgtube.net/1FDkx.png[/IMG][/URL] Kick menu [URL="http://m.imgtube.net/XHZ8f.png"][IMG]http://m.imgtube.net/XHZ8f.png[/IMG][/URL] Ban menu. [URL="http://x.imgtube.net/FpTzc.png"][IMG]http://x.imgtube.net/FpTzc.png[/IMG][/URL] Rank setting. [URL="http://h.imgtube.net/h9Pu6.png"][IMG]http://h.imgtube.net/h9Pu6.png[/IMG][/URL] Join disguise. [URL="http://x.imgtube.net/UhKVE.png"][IMG]http://x.imgtube.net/UhKVE.png[/IMG][/URL] Remote Console. For some reason that msg of the bot joining always does that, perform layout does not fix. [URL="http://f.imgtube.net/7rJnz.png"][IMG]http://f.imgtube.net/7rJnz.png[/IMG][/URL] Constructive Criticism below:
Nice ! You should add Give command for weapons, ammo and pickup stuff.
[QUOTE=GeekDeer;34800380]Nice ! You should add Give command for weapons, ammo and pickup stuff.[/QUOTE] Not sure how much of a use that would be. Could easily code a plugin to do it though :D
Very awesome. Can't wait to receive the Catalyst Gaming version to put on our servers. Good job on this Frosty.
Found a really silly error while working on CGs copy but as far as I can tell it seems to still work o.O 2 functions had the same name but apparently they still work. I advice you to use the SVN copy for this as that's the only copy I'll be updating.
someone had a proof of concept about overflows in GLua, could be why it's still working
[QUOTE=DylanWilson;34808655]someone had a proof of concept about overflows in GLua, could be why it's still working[/QUOTE] Yeah I looked into that possibility and sounds right as they were localised functions and being caught by concommand.add after being defined so I guess they just overwrited each other. Anyone got any suggestions to this that could be considered?
Heres a quick question, what makes this unique, to say... ulx or evolve? To me, it just seems like 'another' admin mod.
[QUOTE=Phoenixf129;34816667]Heres a quick question, what makes this unique, to say... ulx or evolve? To me, it just seems like 'another' admin mod.[/QUOTE] ULX and Evolve are full of extra generally unused features, this is a simplistic approach, more so that ASSMod. One of the key features in it is it's extremely powerful disguise system, yet too be fooled. Its also very useful for those looking for admin mods for say communities that have SQL integration, okay this version isn't ready for SQL but I'm working on one atm. Catalyst-Gaming switched over to it since using ASSMod and it dramatically increased server stability (this was in the first version). I know of no addon that currently has a RCon like this. I know of no other publicly available addon that has a disguise system.
Going from ass mod to this to not expect better performance would be insane seeing how old ass mod is.
[QUOTE=Aide;34819730]Going from ass mod to this to not expect better performance would be insane seeing how old ass mod is.[/QUOTE] The version thats shipped with any old gamemode OC used was an updated fixed version but still had all its little features that never really got used. EDIT: Forgot to mention in the OP: FSA has 2 types of plugins, one with a single action function and one with 2 or more possible functions. Kill is a single action function. Freeze is a 2 action function. So like this: [lua] local PLUGIN = {} PLUGIN.Name = "Freeze/Un-Freeze" --Name to be displayed PLUGIN.File = "freeze.lua" --filename of plugin like "kill.lua" PLUGIN.Client = true --Run Client Side PLUGIN.Server = true --Run Server Side PLUGIN.AllowSelf = true --Sets if admin can perform action on self (NOTE: CanPerform is not called if the action is on self) PLUGIN.CanPerform = function( target, caller ) --sends the player to act on and the caller to allow custom permission settings return caller:FSA_Level() < target:FSA_Level() end PLUGIN.SubMenu = {"Freeze", "Un-Freeze"} --{"Sub 1", "Sub 2"} Table of strings for a submenu, nil for none PLUGIN.SubMenufunction = { --Only Runs On Server. { func1, func2 } Table of corresponding functions to the submenu, nil for none function( target, caller ) target:Freeze( true ) target:ChatPrint( "[FSA] You have been frozen by an admin" ) caller:ChatPrint( "[FSA] You have frozen " .. target:Nick() ) end, function( target, caller ) target:Freeze( false ) target:ChatPrint( "[FSA] You have been unfrozen by an admin" ) caller:ChatPrint( "[FSA] You have unfrozen " .. target:Nick() ) end, } FSA_LoadPlugin(PLUGIN) --Call this to load the plugin [/lua]
You should make the CanPerform function a default do the level checks. Then, make the CanPerform something like CanPerformOverride.
the ID column is kinda pointless and what's the point of networking ranks to everyone (besides VIP)?
[QUOTE=Chessnut;34825577]You should make the CanPerform function a default do the level checks. Then, make the CanPerform something like CanPerformOverride.[/QUOTE] There is that. If you don't create the CanPerform function the backup check runs which is basically is the caller level smaller than the target level. [QUOTE=Banana Lord.;34827326]the ID column is kinda pointless and what's the point of networking ranks to everyone (besides VIP)?[/QUOTE] I used ID as an assured way that the client and server are talking about the same thing without special characters, its column width is small enough to not get in the way, I stuck it there as its the easiest way I could think of doing it especially if the order of the list was to change. What do you mean what's the point of networking ranks to everyone besides VIP? Don't understand that question.
why bother to send a persons rank to everyone, it's pointless to network it
[QUOTE=Banana Lord.;34836552]why bother to send a persons rank to everyone, it's pointless to network it[/QUOTE] Explain how the client will know who are admin's then....? Ow use UserMessages? I could do, but then its not being changed all that often so it makes little difference.
You could just not tell them, would make your "disguise" actually foolproof
[QUOTE=DylanWilson;34837730]You could just not tell them, would make your "disguise" actually foolproof[/QUOTE] Well it is at the moment... If you really want the client never to know then go ahead and remove the networked vars, but communities generally have these ranks there to make money, that is VIP and Gold Member ranks.
Sourcebans integration anyone?
[QUOTE=Phoenixf129;34846390]Sourcebans integration anyone?[/QUOTE] I could look into a plugin to manage this.
[QUOTE=frosty802;34846810]I could look into a plugin to manage this.[/QUOTE] Please do :v:
[QUOTE=Phoenixf129;34886398]Please do :v:[/QUOTE] How would you want it? Would you like it to notify admins when they join or just kick them when they attempt to join, or have then banned in the ban list and it just updates the ban list?
[QUOTE=frosty802;34892574]How would you want it? Would you like it to notify admins when they join or just kick them when they attempt to join, or have then banned in the ban list and it just updates the ban list?[/QUOTE] Well, my sourcebans <ulx> integration replaces the ban function completely, it's pretty idiot proof. And "notifying" admins would be bad, not much of a "banning system" then :|
Wondering if you can make a mysql version so the permissions are saved in a database.
[QUOTE=frosty802;34800280][IMG]http://q.imgtube.net/ss6en.png[/IMG] This is version 3 of my administration mod used on some servers famed on Catalyst-Gaming and the Official Deception Server #1. Mainly it features a COMPLETE overhaul of the client side interface, I learn't a lot from what people wanted through constructive criticism. [B]Main features includes:[/B] -Very fast and easy to use interface. -Extremely powerful disguise system. (As an admin when you join only the server knows your an admin until you remove the disguise) -Very simple and effective plugin system. -Straight forward kick/ban menus -Easy method to set ranks. (Can't set your own rank, owner can only be given in server console) -Very handy remote console, shows unknown commands and black listed commands. (Brings print and Msg to the remote console very useful for debugging) -Interface brings you some useful information about the server. [B]Ranks: [/B]Owner = 0 Super Admin = 1 Admin = 2 Gold Member = 3 VIP = 4 Player = 5 (used as disguise can be changed easily) [B]Plugin Build:[/B] [lua]local PLUGIN = {} PLUGIN.Name = "Kill" --Name to be displayed PLUGIN.File = "kill.lua" --filename of plugin like "kill.lua" PLUGIN.Client = true --Run Client Side PLUGIN.Server = true --Run Server Side PLUGIN.AllowSelf = true --Sets if admin can perform action on self (NOTE: CanPerform is not called if the action is on self) PLUGIN.CanPerform = function( target, caller ) --sends the player to act on and the caller to allow custom permission settings return caller:FSA_Level() < target:FSA_Level() end PLUGIN.RunFunction = function( target, caller ) --Not called if SubMenufunction or SubMenu is defined target:Kill() target:ChatPrint( "[FSA] You have been killed by an admin" ) caller:ChatPrint( "[FSA] You have killed " .. target:Nick() ) end FSA_LoadPlugin(PLUGIN) --Call this to load the plugin[/lua] [B]Usage:[/B] To open the menu: bind <key> "+fsa_menu" To obtain ownership enter in the SERVER console: (USERID can be found by using "status" in client or server console) fsa_giveowner <userid> To unban use: (Must be Super Admin or higher) fsa_unban <SteamID> [B]Download:[/B] SVN: [url]http://frosty-server-administration.googlecode.com/svn/trunk/[/url] Alternative: [url]http://frosty-server-administration.googlecode.com/files/FSA.zip[/url] [B]Pictures:[/B] The Main console: [URL="http://d.imgtube.net/TTWfo.png"][IMG]http://d.imgtube.net/TTWfo.png[/IMG][/URL] Console after selecting a player, plugins that don't allow self action if self is selected are not listed. [URL="http://y.imgtube.net/1FDkx.png"][IMG]http://y.imgtube.net/1FDkx.png[/IMG][/URL] Kick menu [URL="http://m.imgtube.net/XHZ8f.png"][IMG]http://m.imgtube.net/XHZ8f.png[/IMG][/URL] Ban menu. [URL="http://x.imgtube.net/FpTzc.png"][IMG]http://x.imgtube.net/FpTzc.png[/IMG][/URL] Rank setting. [URL="http://h.imgtube.net/h9Pu6.png"][IMG]http://h.imgtube.net/h9Pu6.png[/IMG][/URL] Join disguise. [URL="http://x.imgtube.net/UhKVE.png"][IMG]http://x.imgtube.net/UhKVE.png[/IMG][/URL] Remote Console. For some reason that msg of the bot joining always does that, perform layout does not fix. [URL="http://f.imgtube.net/7rJnz.png"][IMG]http://f.imgtube.net/7rJnz.png[/IMG][/URL] Constructive Criticism below:[/QUOTE] Did you ever get this integrated with sourcebans?
[QUOTE=aamonkey1;35769014]Did you ever get this integrated with sourcebans?[/QUOTE] I'm sorry, was there a reason to quote the whole OP?
Sorry guys. The basic answer is No to both questions. I stopped developing for GMod when I got fed up with people abusing decent work and the general attitude people have. I'm in full time work as well so way less time to do anything.
[QUOTE=frosty802;35781998]Sorry guys. The basic answer is No to both questions. I stopped developing for GMod when I got fed up with people abusing decent work and the general attitude people have. I'm in full time work as well so way less time to do anything.[/QUOTE] Ohh That sucks well have fun working and thanks for all you'r releases
This is a great admin mod, Though I've found two issues with it whilst using it for PERP. That is the ranks don't stay permanent once the player rejoins the server they will loose the rank they were given, and the other was that anybody can access the fsa_menu, only admins can use the functions though its a little sketchy having players being able to view the admin menu. If anybody has found solutions to these issues i'd greatly appreciate some help ;3
Sorry, you need to Log In to post a reply to this thread.