View Full Version : Admin Mod / Chat Filter
Captain_Tea
20th November, 2007, 03:30 AM
I know there were a couple of people working on UT3 admin mods. Has anyone heard if they are ready yet? I'll have my clan's UT3 server up in a week or so and I would really like to have a chat filter in place. I really appreciate those of you who take the time to make these mods and share them with the public :thumbup:.
Shambler
20th November, 2007, 04:10 PM
I plan on making a chat filter for the Titan servers soon, however the first release will probably just be a serverside chat filter for the time being (I intend to make a clientside one eventually, which would use up less server resources).
Shambler
20th November, 2007, 06:37 PM
Here is a rapidly thrown together test version:
*old link*
No idea if it actually works because I can't test it (no UT3 client), please let me know if it does/doesn't.
Piglet
20th November, 2007, 10:45 PM
As per Shambler, I'm waiting for a client. Will start as soon as I have one.
I put some debugs in there and got someone with a client to connect - can see it loading the words OK - but it doesn't appear to be filtering at the moment.
As soon as we get the client it's going to be rather easier to test! Should also be rather easier to write stuff once the webadmin code is there and the TCP/UDP classes are exposed in uscript
As for logging chat, I couldn't immediately spot a way of getting date and time - couldn't see any equivalent of Level.Year / Level.Month / Level.Day / Level.Hour / Level.Minute / Level.Second to use to create log file names
For logging players, the UniqueId doesn't seem to cast to string to be written to a log file...which could be a problem! Hmmm - it's stored in a config string when the player is banned (var globalconfig array<UniqueNetID> BannedIDs; ) - which must cast to a string at some point....
I've not had much time to look over the ut3 code so I could be completely wrong.
Shambler
20th November, 2007, 11:14 PM
Got another testing version done; since we now have help testing it, I will wait until I know it is working before posting an update here :)
Piglet
21st November, 2007, 10:23 AM
I'll be working on testing that tonight. It'll be even better if we get the first server patch to base things on. Last I heard it could be today unless they need to do more after their Thanksgiving holiday
VorteX
21st November, 2007, 04:55 PM
If you need more help testing stuff out let me know.
Slaughter
21st November, 2007, 05:23 PM
I try to help test as well later today. Am I correct in assuming if I don't have a Published\CookedPC\Scripts folder that I need to create it. I only see Unpublished...
Shambler
21st November, 2007, 06:33 PM
I try to help test as well later today. Am I correct in assuming if I don't have a Published\CookedPC\Scripts folder that I need to create it. I only see Unpublished...
Yep, correct.
Mc.Gugi
21st November, 2007, 08:17 PM
I fastly coded a Spam-Protector (http://utforums.epicgames.com/showthread.php?t=586095), which will simply allows admins to mute player for 1 map. Furthermore it allows player only to chat after a certain interval (can be configured).
Very simple, my mut, as I only coded it to come into UT3-script, but might be useful for someone.
Shambler
21st November, 2007, 09:02 PM
^^ Nice, there is a compatibility problem though:
Your mutator simply destroys and replaces the existing BroadcastHandler, it doesn't save a reference and pass back function calls. So that means other tools which override the broadcast handler won't work anymore.
I coded mine to save a reference to the original handler and then pass back function calls (creating a pseudo linked-list, in a sense), so that it should be compatible with other tools, it would be helpful if yours did that too :) (check the code in mine to see how I implemented it)
Would be nice if, in a future patch, the broadcast handlers were turned back into a proper linked list ala UT2004. Otherwise I suspect a lot of tools are going to conflict like this.
Slaughter
21st November, 2007, 11:45 PM
Hey, I run mutiple servers using the -gameini and -engineini parms which point to sub-folders under Config; where you say to put the UTTitanAdminHaxUT3.ini file (whew...long file names FTW!). So, if I want to just test on one server I can't then, can I?
Something to think about with the BlacklistedWords is to add a parm at the end for bMandatoryBan (default=False). That way one could leave MaxHitAction=HA_Kick and MaxWordHits to handle the rest.
Mc.Gugi
22nd November, 2007, 12:45 PM
Ye, I miss the linked-list, too^^
And I knew that it wouldn't be compatible with future mods, but anyways, the mut is very simple and better mutators will come which replace my one fully.
Piglet
22nd November, 2007, 01:41 PM
Agreed. You need to capture the current broadcast handler and then route all output to it after you're done with it. It will then be down to the server admin which order to load the serveractors to ensure that the broadcast things areapplied in the order they want.
I found a small bug in Shambler's code and added in chat logging and swear logging - I'm just waiting to see what direction Shambler wants to take this in before giving anyone this version of the code. I suspect it'd be better to add the logging as a separate serveractor coded to build up the chain of broadcasters
The bug means that the code will not kick you after reaching the swear limit.
If you want to try it out it's running on 192.168.24.199:7930
Shambler
22nd November, 2007, 06:15 PM
Nah no need for a new server actor, I just added more config options :)
Slaughter: The tool is enabled through ServerActors in UTEngine.ini, since you specify a unique engine .ini for each server, you can enable/disable it that way?
I've added the 'mandatory ban' option to my todo list :)
Slaughter
23rd November, 2007, 02:23 PM
Doh. Roger on the ServerActors in the specific UTEngine.ini.
How about chat/swear logs for multiple servers (assuming these are currently set to go to the Logs folder)?
Shambler
23rd November, 2007, 03:30 PM
* Shambler adds to 'todo' list :)
Currently we are bug-fixing it again, UT3's level streaming has changed how some things are initialized and so it doesn't re-initialize after map changes, that will need to be fixed first before we work on other things.
Captain_Tea
25th November, 2007, 07:10 AM
Thanks for all your hard work guys :thumbup:
Piglet
25th November, 2007, 11:46 PM
Here we go - I had a weekend off and came back with a few ideas for how to get round the problems!
Chat Filtering and Swear Logging (http://piglet.titaninternet.co.uk/ut3/TitanAdminHaxUT3-v0.8beta.zip)
Please let me know how you get on with it
b][rch.Co30
26th November, 2007, 01:59 AM
In the install instructions you're using the "my documents" location for the files.
Is this compatible with use of the -nohomedir dedicated server ?
These folder destinations don't exist in the "program files" ut3 directory structure. I suppose I could create them ... thought i'd ask before spending another 1/2hr troublshooting :confused:
Piglet
26th November, 2007, 08:31 AM
Just stick it in the appropriate directory for your server. If you're using the -nohomedir just put it in the \UTGame\Published\CookedPC\Script within the directory you're using.
Slaughter
26th November, 2007, 11:31 AM
This is no longer a ServerActor??
Piglet
26th November, 2007, 12:13 PM
It cannot be done with a serveractor.
1. Server actors are sent to the client (bug?)
2. Server actors are not able to specify which things need to be preserved during seamless travel to the next level.
I can do you one which is a serveractor. It will get two sets of logs - one during game and one for chat during server travel...the big "however" is that there is no way to close the file. No trigger I can see to know to close the file (and flush the buffer?).
The result of this is that the logs are created but they remain locked until the server is restarted (or reset with "admin exit" console command).
There's also no way to put an "end of log" message (not that that should be a big deal)
I'd very happily code this up for you.
Ideally there should be a GetSeamlessTravelActorList function within Actor for serveractors that gives server actors the opportunity to do stuff around streaming to next level. There isn't though.
I wonder what the best way of reporting these problems is:
1. Serveractors get replicated to clients
2. No GetSeamlessTravelActorList function within actor to allow serveractors to determine what to persist into seamless travel state.
Slaughter
26th November, 2007, 12:30 PM
Thanks for the explanation. No need to code anything special as I just wanted to make sure I didn't put that in when not needed. I most certainly would want the files closed and buffers flushed so nothing is lost.
Sorry I haven't any time to test this out yet. An "Army of One", as it were.
b][rch.Co30
27th November, 2007, 02:03 AM
If you're using the -nohomedir just put it in the \UTGame\Published\CookedPC\Script within the directory you're using.
Just created the directory structure under \UTGame\ as required. Worked first time like a charm. I see all my follow up questions are your to do list. Thanks for your efforts on this guys.
Does this make a server "non-standard" like non white-listed mods did in ut2004 ? I still have no client side software, i'm operating blind in the browser functionality department.
Piglet
27th November, 2007, 01:12 PM
I suspect that it will. I really would like it a serveractor.... :(
What are your follow up questions? I might start on the To-Do's soon and the earlier people ask the better....
Captain_Tea
27th November, 2007, 01:16 PM
My server host hasn't gotten our server up yet, so I haven't been able to try it out yet :(
b][rch.Co30
27th November, 2007, 02:26 PM
What are your follow up questions? I might start on the To-Do's soon and the earlier people ask the better....
My questions were on your to do list.
1) nick filter
would be nice considering some of the nicks i've seen used in ut2004
BUT given Gamespy limits a user to unique names, you'd only ever see one or two of these. So maybe not a priority or worth the effort.
2) session ban availability would be nice.
a kick generally produces more immediate negative behavior on return
session they go away for a while and cool off or go elsewhere.
Captain_Tea - feel free to head over and curse to try it out. The server is up for testing in the DM section - (Co30):House of Crusty. Three strikes and your out, or depending on the word immediate removal. Patched client required to connect.
Captain_Tea
27th November, 2007, 02:33 PM
[rch.Co30;135241']Captain_Tea - feel free to head over and curse to try it out. The server is up for testing in the DM section - (Co30):House of Crusty. Three strikes and your out, or depending on the word immediate removal. Patched client required to connect.
I tried connecting but I don't have the patch and i'm not sure where to get it.
Vulcano
27th November, 2007, 06:11 PM
Nice guys,
iam trying to code a mut that gives oute the log to php with SQL.
Complete administration with an external tool based on c++
But it take a while --> Not time atm :/
Piglet
27th November, 2007, 08:56 PM
There is very little way to get anything out of UT3 yet - no tcp or udp classes. The only way I can see that you could get any information out is to write out a line using filewriter and then close the file. Have the external process scan the logs directory and read in all that named log file, process the content and then delete the log.
That's one-way communication though....
Session ban? Hmmm - yes. On the to-do list....
Vulcano
27th November, 2007, 09:26 PM
well, ive seen that.
Then i have to wait :/
Piglet
27th November, 2007, 11:05 PM
Ha! Got session banning working, but on next map all the players but me joined as spectator and could kill anyone!
Hmmm- think I need to try again tomorrow.....:D
Captain_Tea
28th November, 2007, 03:56 AM
[rch.Co30;135241']Captain_Tea - feel free to head over and curse to try it out. The server is up for testing in the DM section - (Co30):House of Crusty. Three strikes and your out, or depending on the word immediate removal. Patched client required to connect.
I hopped on and cursed 3 times and got booted :D. The server does not show up under pure servers anymore though. I got my server up today, but i haven't monkey'd around with the chat filter yet :thumbup:
Is the patch needed on the server to run the Chat filter? I was going to wait to patch my server till the official patch came out unless I ran into some problems. So far so good.
Piglet
28th November, 2007, 09:07 AM
I don't think it'd need the patch.
I think the next version will keep the server "pure". Watch this space.
I'll see what I can do tonight (UK time). Tomorrow I'll be building a PC I can actually run UT3 at more than 10fps, so coding will not be an option.
b][rch.Co30
28th November, 2007, 01:58 PM
Is the patch needed on the server to run the Chat filter? Don't think so. I need the patch because the server is behind a NAT.
Piglet
28th November, 2007, 10:54 PM
Next version for you folks to try out:
http://ut2004.titaninternet.co.uk/piglet/TitanAdminHaxUT3-v0.9beta.zip
* Adds HA_SessionBan to session ban pottymouths
* Is not sent from the server to the client :D but does remove from the pure list still :(
* Adds admin session ban command adminkick session playernameornumber
Note that you need the command line parameter ?AccessControl=TitanAdminHaxUT3.TitanAccessControl in order to get session ban functionality.
As always, please let me know how you get on.
b][rch.Co30
2nd December, 2007, 01:28 PM
No problems so far Piglet. The server is far from busy currently, slow uptake in our group from UT2004. Many need hardware updates including me.
One other thing that severext provided in the past was the ability to do server messages - the RSS feed funtionality. Colour of the text message / timing / etc. Allowed admins to push messages automatically , rules , web page etc.
Since you're in a coding mode , thought i'd ask ;-) - appreciate your Titanadminhax work.
Captain_Tea
2nd December, 2007, 05:36 PM
[rch.Co30;135502']No problems so far Piglet. The server is far from busy currently, slow uptake in our group from UT2004. Many need hardware updates including me.
One other thing that severext provided in the past was the ability to do server messages - the RSS feed funtionality. Colour of the text message / timing / etc. Allowed admins to push messages automatically , rules , web page etc.
Since you're in a coding mode , thought i'd ask ;-) - appreciate your Titanadminhax work.
I haven't installed it yet, mainly because our server has been getting pretty decent traffic and I don't want to take it off the pure list, for that reason. I also would like to see server messages as well, but I prefered the way UadminMod did them, where an rss feed wasn't necessary. You just put the messages in the .ini file.
Piglet
2nd December, 2007, 09:48 PM
We need a pure list. There isn't one atm.
LizardKing
2nd December, 2007, 11:17 PM
Rather than start a new topic, is there to be a titan team fix? :)
Piglet
3rd December, 2007, 01:30 PM
I'm not sure. Shambler's having a break from coding as far as I know.
Having gone to a random server and seen 12v7 and the like several times I can see a need for something to be done. Ideally Epic should produce a built-in team balancer that works.
Ideally...
LizardKing
3rd December, 2007, 03:30 PM
If Epic produced anything that worked, I'd be amazed ;)
Shambler
3rd December, 2007, 06:41 PM
Shambler's having a break from coding as far as I know.Indeed I am, for the moment :)
Rather than start a new topic, is there to be a titan team fix? :)
There might be, but I expect someone else will have released a team balancer long before I start on it.
Captain_Tea
11th December, 2007, 03:47 PM
Is the server showing as pure with the chat filter now with the changes in the new patch 1.1 that is out?
Piglet
11th December, 2007, 10:23 PM
Don't know - do try and let us know :). No response from Epic on a whitelist either.
Captain_Tea
12th December, 2007, 01:51 PM
I'm waiting for my server host to get the patch on. As soon as thats accomplished I'll give it a try :)
b][rch.Co30
12th December, 2007, 04:59 PM
Captain_Tea - I have Beta4 loaded which is the same as the official patch, and I reactivated the chatfilter this morning. I still don't have a client so can't tell easily. Although http://prx.apophis.ch/viewer.php currently shows it as pure. Maybe look us up in the browser to check with the client software.
Captain_Tea
12th December, 2007, 06:08 PM
[rch.Co30;135775']Captain_Tea - I have Beta4 loaded which is the same as the official patch, and I reactivated the chatfilter this morning. I still don't have a client so can't tell easily. Although http://prx.apophis.ch/viewer.php currently shows it as pure. Maybe look us up in the browser to check with the client software.
Looked it up and it's not on the pure list :(
Piglet
12th December, 2007, 10:05 PM
And still no response from Epic over whitelist - though to be fair they've got much bigger issues to deal with atm
b][rch.Co30
12th December, 2007, 11:54 PM
Yes true enough, this "pure list" thing is not really a big concern for me. My server is there for my testing/tinkering. There are hundreds of empty servers, mine being one of them. The fact that clients have to be patched to connect to any NAT'd server is pretty bad to start. Lots of other things to straighten out on this go round ... (Santa - i need a new gui :D )
Shambler
22nd December, 2007, 09:34 PM
Rather than start a new topic, is there to be a titan team fix? :)
Here ya go, first beta version:
http://utforums.epicgames.com/showthread.php?t=594328
Captain_Tea
27th December, 2007, 02:53 PM
I put this on our server yesterday and it is working very well. Thanks guys! I am just hoping that the server traffic doesn't decline now that its off the pure list.
Captain_Tea
22nd February, 2008, 08:11 PM
I've been using the TitanAdminHax for a while now and it has been workin great. I noticed though that now that the webadmin is up and running it doesn't show up as a mutator in the list and doesn't load after you force a map change in the WebAdmin page. Any suggestions?
Shambler
23rd February, 2008, 01:33 PM
Open up UTTitanAdminHax.ini and add this:
[TitanSwearFilter UTUIDataProvider_Mutator]
ClassName=TitanAdminHaxUT3.TitanSwearFilter
FriendlyName=Titan Swear Filter
Description=
GroupNames=
UIConfigScene=
bStandaloneOnly=False
bRemoveOn360=False
bRemoveOnPC=False
bRemoveOnPS3=False
I plan on updating the admin hax to do this automatically in the future.
Piglet
23rd February, 2008, 11:03 PM
Oh - yes please. I keep getting distracted with playing UT2004 and doing DIY in preparation for our baby which is arriving in June - and haven't spent any time coding ut3 stuff in ages...
Shambler
24th February, 2008, 09:47 AM
Yea no bother :) I've nearly got the AKA tool working now (am about to finish off coding the MySQL database connection), and will update the admin hax once I integrate that.
When was it last updated though? I don't know which version of the code I have.
Piglet
24th February, 2008, 04:41 PM
Heh - me neither.
This is the current one on my machine - not even updated to 1.2 with GUID!
http://games.titaninternet.co.uk/ut3/TitanAdminHaxUT3.zip
I really should look at getting a TCPlink up and running to get communication in and out on player join, leave, & all the other events we have captured in ut2004.
Shambler
25th February, 2008, 09:42 AM
Cheers :) I'll update this as soon as I can, though it may take a while to get the AKA tool tested (especially when I get the MySQL connection done).
I think the best way to go about adding features, is to code them in a separate package first (like I'm doing with the AKA tool) and then integrate them into the main package later, so that we don't end up overwriting each others code.
Captain_Tea
27th February, 2008, 08:15 PM
Is it possible for you guys to add the ability to block bad nicks?
Captain_Tea
27th February, 2008, 08:17 PM
Open up UTTitanAdminHax.ini and add this:
[TitanSwearFilter UTUIDataProvider_Mutator]
ClassName=TitanAdminHaxUT3.TitanSwearFilter
FriendlyName=Titan Swear Filter
Description=
GroupNames=
UIConfigScene=
bStandaloneOnly=False
bRemoveOn360=False
bRemoveOnPC=False
bRemoveOnPS3=False
I plan on updating the admin hax to do this automatically in the future.
Thanks, it works now :)
Shambler
2nd March, 2008, 02:45 PM
Sorry for the late reply, the 'new posts' button appears to be broken for me.
Is it possible for you guys to add the ability to block bad nicks?
Not properly no. They can be blocked for players entering the server but there is no good way of intercepting the setname command, so the players can just change their name after joining.
I could add a timer to check the names occasionally, but would rather not as that would be inefficient. I've requested a hook into the ChangeName function for a future patch, but have no idea if that will ever be added.
Captain_Tea
2nd March, 2008, 03:20 PM
They can be blocked for players entering the server but there is no good way of intercepting the setname command, so the players can just change their name after joining.
Blocking the players from entering with a bad nick would be helpfull, if they change their name after they join I can manually kick them. :thumbup:
Shambler
2nd March, 2008, 08:05 PM
Ok I'll add that :) I'm also going to spend a little bit of time integrating my aka-tool which I've been developing separately (though I'm not sure how functional it is at the moment).
Shambler
3rd March, 2008, 01:21 AM
Here's an intermediate update, to release a few feature updates before I begin (messy) work on trying to merge this with my AKA tool:
http://homepage.eircom.net/~JBarrett847/TitanAdminHaxUT3-v1.0beta1.zip
Changes:
- Extended the swear filter to work with names/clan-tags/aliases
- Updated the swear-filter/session banning code to take GUIDs into account, and made the code a bit more tolerant to changes in Epics code
- The swear filter mutator now shows up in webadmin, and will automatically add the necessary .ini data for this, if missing
Captain_Tea
3rd March, 2008, 03:05 AM
Thank you :thumbup:. This mut makes my admin job a lot simpler.
Captain_Tea
5th March, 2008, 05:06 AM
Sorry for the late reply, the 'new posts' button appears to be broken for me.
Not properly no. They can be blocked for players entering the server but there is no good way of intercepting the setname command, so the players can just change their name after joining.
I could add a timer to check the names occasionally, but would rather not as that would be inefficient. I've requested a hook into the ChangeName function for a future patch, but have no idea if that will ever be added.
I see you found a way to kick guys that change their name in game by booting them when they respawn :D.
Shambler
5th March, 2008, 01:20 PM
Ah yes, that was something I forgot to mention :)
Captain_Tea
1st July, 2008, 08:39 PM
Shambler, now that you've saved the day with the TitanAdmin HAx, TitanTeam Fix and the Chat Bubble, would you consider picking up where Burl left off and make a good vote mutator that will allow midgame and gametype voting? There are only 2 choices currently but neither is compatible with BTA/BFA as far as I can tell.
Shambler
6th July, 2008, 12:30 AM
Have been working on it for a while already, actually :)
No ETA though, and I'll need to update the admin hax later on as well, because some of the vote stuff might break it.
Captain_Tea
9th September, 2008, 05:09 AM
The TitanAdminHax is not compatible with UT3Fixer :(. I need UT3Fixer to run BTA/BFA along with other gametypes on my server. Any chance you could take a look and see if u can make the 2 play nice?
Shambler
9th September, 2008, 02:44 PM
In what way are they incompatible? Also, with patch 1.3, you shouldn't need UT3Fixer anymore.
Captain_Tea
9th September, 2008, 02:51 PM
In what way are they incompatible?
I don't know, I just know that with TitanAdminHax and UT3 fixer enabled, clients get disconnected on gametype change.
I need UT3 fixer because without it the hud in BTA/BFA dissapears when changing gametypes, even with patch 1.3.
One thing i'm going to try is disabling session ban and removing ?AccessControl=TitanAdminHaxUT3.TitanAccessControl from the command line.
Shambler
9th September, 2008, 04:12 PM
Okey, well let me know if removing that fixes it; I can't see anything in the admin hax code which might be causing this.
Also, PM me logfiles from the server and from clients who get kicked, as there may be some useful info there.
Captain_Tea
10th September, 2008, 02:10 PM
I got it to work somewhat after some help from [PHX]BigDeal. With ?AccessControl=TitanAdminHaxUT3.TitanAccessControl active and session ban it will only switch between DM, TDM, & CTF for some reason. BTA/BFA, War & VCTF won't switch without the clients getting disconnected.
Without ?AccessControl=TitanAdminHaxUT3.TitanAccessControl it will switch between all gametypes and clients travel fine. When getting kicked for profanity the client hangs for a long time before getting disconnected. Probably due to UT3Fixer timeout settings my guess would be.
The log files are to big to PM.
Shambler
10th September, 2008, 08:55 PM
I'm really not sure what the problem may be, because there is nothing within the TitanAccessControl class that would give problems.
There is, however, code within the other titan admin hax classes which relies upon seamless traveling (which UT3Fixer disables) but that doesn't seem to be what is breaking here.
If you disable all other titan admin hax componenets (e.g. the swear filter/chatlog etc.) and only run the custom access control, does it still give problems?
Captain_Tea
15th September, 2008, 06:06 PM
i got it working, i had to take the ?AccessControl=TitanAdminHaxUT3.TitanAccessControl out of the UTComp.ini file and have it in just the command line only. Now it seems to work.
Shambler
15th September, 2008, 07:15 PM
Ah okey :) Good to know that's sorted out.
Captain_Tea
15th September, 2008, 09:23 PM
UT3Fixer seems to tie the time it takes to get kicked after swear limit is reached to the ClientTimeOutInSeconds=xxxx in the UTUT3Fixer.ini. It also doesn't tell the person why they were kicked anymore, it just says connection lost.
Shambler
15th September, 2008, 11:02 PM
It sounds as if the client isn't getting the kick progress message replicated; does the same happen when you directly kick someone?
Also, does it happen when you run a stock gametype, and not BTA?
Captain_Tea
16th September, 2008, 04:06 AM
It sounds as if the client isn't getting the kick progress message replicated; does the same happen when you directly kick someone?
Also, does it happen when you run a stock gametype, and not BTA?
Yes, and yes.
Captain_Tea
16th September, 2008, 12:27 PM
Does UT3Fixer need fixed?
Shambler
16th September, 2008, 02:35 PM
Upon quick examination of the UT3Fixer source, that looks like it 'might' be the problem, as it seems to block connection error messages for a certain amount of time.
This might have been added to block errors messages during non-seamless travel or something, but it appears to also have the side effect of blocking those messages after kicking as well.
Captain_Tea
24th April, 2009, 02:31 AM
Is the admin hax still working with patch 2.0?
Captain_Tea
29th April, 2009, 08:06 PM
Is the admin hax still working with patch 2.0?
I answered my own question, yes it does work with 2.0 :). You should put a link to the Titan admin hax on epics forums.
vBulletin® v3.6.7, Copyright ©2000-2012, Jelsoft Enterprises Ltd.