Monthly Archives: April 2016

chatlink 227 client custom build

Many years ago pcube made a mod  called chatlink ,it relayed players chat  between multiple servers. a few years ago , we used is for awhile and got annoyed at it , becuase people would spam nonsence from certain servers.

recently , we decided we wanted to setup some  unreal > irc thingy. this lead to anothier project thats related but pending(chatlink > teamspeak bot) but in the prossess i decided to improve the bot so to speak.

-i added the the ability to send colorcodes in the messsage for each server, so each server can choose its own color.
-rewrote  the chat intercepter to use gamerules instead of pawn , witch has its advantage and disavantages.
-added filtering in ini so you can block/replace chats based on content / host server name.
-some other stuff i cant recall.

download link

add the mod to you serveractors.

summon chatlinkpro.chatlinkpro  in a singleplayer game , and it will still work 😉

chatlink requires a master server to run. i currently run the only master.
while it is possible to run you own master , that requires a  java server.

to join my master:
serveraddress =
recieveport = some unused port  (20622 – 29622) you  need to play with this number

anyway it would be nice to get a few more servers in the group, but dont want it super cluttered.if it gets annoying , servers can choose to ignore chats from specific servers by creating a rule in the ini , blocking by server name , or player, or text  etc

if it gets super annoying , i will add “chanels” for each goup of servers.

as this mess is setup , your chat also ( if i remember to run the irc relay!) is relayed to / from  #bobisunreal   and when the teamspeak bot isnt crashed , it is also relayed to our teamspeak server.


Leave a comment

Posted by on April 28, 2016 in Uncategorized


toasty227 mutator

toasty227 is a  expansion of pcubes “toasty” taunt mutator.
to explain it simply , you say words in chat , and sounds are played based on chat content.
i rewrote it to use gamerules and added a bunch of bonus features to make it easier to use.

My additions are as follows:
-Automatic Bulk import sounds from any .u file using /importtaunts <packagename>   ingame.
-you can edit trigger words in the ini file.

name relevancy:
Sound bite can be name dependent, so everyone can have there personal “lol” “haha” etc
This can also be used to control abused taunts maybe , or set to bogus name to disable taunt.

client opt out.
clients can opt out of hearing the taunts on there client using /toggletaunts

taunt listing
typing /taunts will list all available taunts in the client console.

“vsay” taunts
vsay taunts vagley like the taunts in EDM , you can say a pharse such as LEFT< “eat t”  not instr
it will play a matching sound if available , and replace your text with the full quote.
such as  “eat t”  replace with “eat THat!”. this replaces the entire chat string!

my plans was to support the edm packages, but it is too much effort due to dependencies.

left/right/mid choice.
having a << >> in the triggerword start/end will decide weather the trigger word is explicitly  the left/right
having a ??? in the triggerword   indicates that it must have a “?” anywhere in the string to trigger off
no  << >> means instring anywhere.

– “!ns”  in chat plays no sounds regardless of triggers

time seconds based. if enabled taunts will not play intill spamthreshold has past in seconds
for random , you may add more then one sound in playsnd seperated by comma  “x11taunts1.dog1,x11taunts1.dog2,x11taunts1.dog3”

uses 227 gamerules to detect chat. some gametypes may require reworking to support gamerules.

download :

use as a mutator or add to server actors.

here are some soundclip packs to get you started

type this in chat as admin to import the taunts, then edit the trigger words in the ini file
/importtaunts Announcer
/importtaunts EClanTaunts
/importtaunts EClanTaunts2
/importtaunts EClanTaunts2016
/importtaunts EClanTaunts5





1 Comment

Posted by on April 27, 2016 in Uncategorized


skinmod / skin assist dev beta release

It Is a mutator  tool , what it does  is saves the player login information at join , then process it after a player joins, analyzing weather the skin is is the server packages. if it is in the server packages , it does nothing, the skin works like it would normally on any server.

if the desired skin is not in the server packages , it searches all files on the server to see if the skin utx files is available to load/install.

If the file is on the server , it is added to a custom list of on demand skins.
along with the requesting player , and add date.

upon the level switch , the mod automatically adds these skins files to the server packages ready for use by the player,this list is separate from the normal server packages.

if the file is not on the server, the user is prompted to contact the admin , or in my case – (in the future )they are directed to a php page where they can upload there skin utx file to the server.
This could potentially present some security issues latter on but that is addresses by uscript based package analysis.
The skin file they request  is also added into a list in the ini file , so that a admin can manually see what skins players want to use and add them accordingly.

the mod  allow skins to expire to reduce server packages.
if a players dont visit the server in 30 days the skin is automatically removed from the server packages , to reduce downloads. rejoining the server by the player can reset the count or cause it to be active again.

but there is more.
We have there prelogin information that tells the server there skin   request.  if they are already on the server , and they reconnect, we can match the player name , ip , and join parameters to a player already on the server. This way if a player is on the server , and want to change there skin for any reason, they would normally have to reconnect( in most  gametypes) , lose there place and inventory. ….. or will they?

my mod matches the login details  ,Does some basic comparison for class/skin changes, and if the player class is the same , But the skin parameter changes , it rejects the request to join, and takes there requested skin and changes the players skin while still ingame.

this wont work with as is with skins not in the server packages ( but  can be addressedlatter, by checking the server and adding them on demand) so what we has here is fast skin changing. people can change and test skins all day long without having to fully rejoin the server,
in the cases where the class changes , it will force a reconnect.
in the case of the requested skin not in server , it can reject the reconnect and warn the user.

players can “/skins” to view any skin installed on the server to choose from.
players can “/skinjoin #” to swap to a skin not installed on  while  ingame for testing
admin can “/skinsdebug” to see active/dead skins and player requests
broken: players can “/skinrejoin #” to swap to a skin not installed on there client, that will be persisnt via url.

possible future feature additions:
hud mutator gui to preveiw and pick skins, using key binds and stuff to switch between skins using prev/next like inventory




Posted by on April 26, 2016 in Uncategorized