Many of you played a map I made for MH called 'MH-MHMVillage-fixed'. Next time you play it open a console and enter
You'll see that no matter where you are at you will be instantly moved to inside the clan village. There's no teleport effect or any warning to other players, you just are one place then another. This is done by a map enbedded actor hidden within called smpv6. This is short for 'Send Me Packing', a mod I'd developed to allow players to teleport inside their own homes in the village. It was a way of allowing houses to be locked to anyone else except the owner. This is the code for the warp:mutate warpme
Code: Select all
function Mutate(string MutateString, PlayerPawn Sender)
{
// This is a map name check. You can use this to specify maps for the mod to work on.
if(InStr ( Level.Title, "MHM" ) != -1)
{
if(!Sender.PlayerReplicationInfo.bIsSpectator || Sender.PlayerReplicationInfo.bWaitingPlayer)
{
if(MutateString ~= "warpme")
{
Sender.ClientMessage("Welcome to the village, please enjoy");
Sender.SetLocation(vect(-9758.612305, 20064.000000, -5715.470215));
}
}
}
if ( NextMutator != None )
NextMutator.Mutate(MutateString, Sender);
}
So how to catch this? Well the easiest way is to watch the server logs. When a map loads watch to see the mods and if one loads you don't recognize it's time to start digging. Keep a whitelist of the mods you know are OK and add to that as you find new ones. Maps that seem suspicious to you mean you should probably load the actor list and see if there's something strange in it, something that you don't recognize. A common trick is to set the drawscale of the cheat actor to very small and/or to bHidden so don't be afraid to tear into the map to find things. Select all actors and look to see if drawscale is not 1 on everything. That's a good sign that something is hidden.
In summary, as a server admin you have the responsibility to make sure the maps you run are clean. If you suspect someone is cheating on a particular map then take a bit and see if something stands out in an inspection of the map itself. The methods and procedures would take all day to list so consider the above a super simple example but one that you need to be very keen on watching for.
OK guys, that'll do it. I'm going to log out and do other things. If anyone needs me please don't hesitate to email. Good luck and thanks for letting me put all this stuff out here for discussion. Hopefully it starts something that benefits everyone involved.