Prevent players from accessing GM Island

This patch allows the option to prevent players from accessing GM Island.


  • Option to prevent players from accessing GM Island. On by default, can be turned off in config file.

  • Option to set where to teleport players that tries to access GM island when set to prevent players from accessing it. Teleports to Jail Box (“Testing” map) by default, can be changed via. database.

  • Option to ban players that tries to access GM Island when set to prevent players from accessing it. Off by default, can be turned on in config file.


  • Server crashes if gmisland_teleport is empty. Make sure you have a entry in the database. (I probably should change it to use config file instead…)

  • GM Summoning players will still send the player into the teleport location defined in database.


Post any bugs in the issue tracker, so they can be fixed.

Not even .namego player can summon the player to gmisland? You should consider this

.namego doesn’t exist? Did you mean .summon and .groupsummon? i’ve tested on these and it doesn’t work.

Reason is because the code is added into: void Player::UpdateZone(uint32 newZone, uint32 newArea)

Yes, .summon, my bad.

I know it doesn’t work, was just mentioning it. If you have a repository for this then you should improve it as much as possible

I made a Issue, maybe its good Idea /emoticons/default_biggrin.png

I dont care if players go to GM island theres nothing there anyways, Nice work tho.

Edit: Haven t tested.

then why you even bother to make post about it??

the reason this patch is made is to catch people that use teleport hacks to go to gmisland because well they shouldnt be there in the first place…

Super … But is possible make a command for this that allow gm activate or deactivate this function ?

like …

.anticheat gmisland on - activates the protection

.anticheat gmisland off - deactivates the protection

.anticheat gmisland - shows the current status of protection

This is usefull before gm summon player to this zone …

Thanks for updates …

Indeed that would be useful.

Great work with this function, I will test it in my server.

I get this error /emoticons/default_sad.png

$ git apply gmisland.patch

warning: src/server/game/Entities/Player/Player.cpp has type 100644, expected 10


warning: src/server/game/Spells/SpellEffects.cpp has type 100644, expected 10075


warning: src/server/game/World/World.cpp has type 100644, expected 100755

warning: src/server/game/World/World.h has type 100644, expected 100755

[SIZE=18px]fatal: [/SIZE][SIZE=24px]unable to write[/SIZE] file 'sql/tools/gmisland.teleport.sql Wed Dec 01 11:54:

07 2010 +0000’ mode 100644: Invalid argument

Windows? Linux? Is there a sql/tools/ folder in your source dir?


TrinityCore rev. 2011-09-16 00:37:04 +0300 (400716926c94+) (Win32, Release)


TDB 335.11.42 + updates

and there isn’t a sql/tools/ folder, only old, create, update,… but tools, don’t.

tools folder was removed long time ago…

That patch needs to be updated.

How about just creating this folder cO

umm okey, i’ll try creating the tools folder, i’ll tell u

I don’t want to be bitchy, but I can’t add comments in the git repo, so I’ll add it here.

To prevent the crash if the table is not there swap line 18 with line 16 in this patch:

And it should be just fine.

Improper permissions set on folder. make sure it’s owned by your account.

sudo chown -fvR youraccount:youraccount /path/to/trinitycoresrc/

actually no. it should make the folder itself. if it doesn’t then the folder doesn’t have the proper permissions set.

added fix.

Here’s the first part rewritten:

This one will avoid:

  1. trying to teleport to gm island if you put the gm island itself in the database (your version did it too)

  2. teleport to the jail if no result was found

Oh, I didn’t try to compile it, so I’m not sure it works (there might be some typos). And as far as I remember TeleportTo wanted float values, not doubles (but again, I’m not sure)



I just made a pull request, to change the teleport feature to config instead of using database.

It makes more sense because it has only one destination.

Sorry, I didn’t test it, though it compiles, so please test before merging the pull request.

Thank you!