About IQTeleportation
IQTeleportation - is an advanced, optimized teleportation system that provides a wide range of features to improve player comfort and convenience.

Only the necessary, user-friendly features — the plugin isn’t overloaded with extras.
All capabilities are designed for stability and maximum player convenience.
Plugin Installation :
When you download the resource, you receive an archive with plugins and data folders. Move the file from data strictly following the archive path: oxide/data/IQSystem/IQTeleportation. If any of these files don’t exist on your server, create them. Move IQTeleportation.cs from plugins strictly following the archive path: oxide/plugins. Note for users who use a “web editor” on hosting panels. Before uploading, unpack the archive locally in any convenient place, then upload the files from there.
Feature List :
Minimalist UI for the player :
The plugin supports UI for teleport requests and for setting a home point. These are optional and configured in the config.
Teleport directly into vehicles :
Optional feature.
Allows accepting a teleport while controlling a vehicle. The player will be teleported into a free seat; if there are no free seats, the teleport is canceled.
Sound effects :
Built-in sound effects for teleportation.
Players can feel the timer through sound: as teleport time approaches, the sound frequency increases.
This makes it clear when a teleport to a friend or home point will occur, without distracting from gameplay and keeping focus.
Home points on G-Map :
Optional feature.
Displays the last 6 home points the player teleported to directly on the G-Map, with the ability to teleport to them via the UI.
It fits the Rust and G-Map style nicely and is very convenient for players!
Teleport requests via G-Map :
Now you can simply right-click on a friend’s nickname (or near it) on the G-Map, and a teleport request will be sent automatically.
This helps players stay focused on gameplay and simplifies team interactions.
Automatic teleport between friends :
The plugin supports automatically accepting teleport requests from friends.
This feature can be toggled with the /atp command.
Players in a team no longer need to confirm requests manually — friend teleports will happen automatically, making co-op play even more comfortable.
Block teleporting from monuments :
You can forbid teleporting from specific monuments.
This improves gameplay and prevents using monument structures as a hideout followed by teleporting away from an opponent, creating a more balanced experience for everyone.
Home point marker :
After setting a home point, the player automatically gets a duplicate marker with the point’s name on their G-Map.
This improves visibility, helps orientation, and simplifies coordination with home points.
A temporary mark with a visual effect is also shown at the placement location.
Simplified commands :
The goal is to simplify usage and add convenience for players — commands weren’t overlooked:
/sethome has a shorter alias /sh
/removehome has a shorter alias /rh
/tpr has “built-in memory,” making player interaction easier.
You no longer need to specify a nickname every time you send a teleport request.
The command remembers the last player you teleported to, and when you run /tpr again without a name, it will send the request to that player.
This makes teleporting even faster and more convenient.
See the full command list in the “Commands” section.
WARP system :
The plugin includes a warp system with multiple points and convenient commands.
What is this system for?
For example, you want players to teleport to Outpost (or any other monument) with /compound — you can do this with the system: just create the points, and the commands will be registered automatically and will persist every server wipe!
Other uses?
Use it however you like: for events, create a teleport point for the event, then remove the warp after it’s over.
Points placed outside standard monuments will not be saved after a map change.
Logging system :
If you want to monitor the plugin and know about your players’ teleports to analyze activity, there’s an optional logging feature for teleport requests, accepted teleports, and home teleports.
There are many simple, clear configuration options — you can preview them in the “Configuration” section.

Permissions :
iqteleportation.gmap — permission to use /gmap and instant admin teleports via G-Map to any point on the map
iqteleportation.tp — permission to use /tp for instant teleport to a player
iqteleportation.warpadmin — for using WARP features and the /warp command
These permissions are intended for administrators only and do not affect player features.
Do not grant them to regular players!
Command List :
Chat Commands :
/atp – toggle automatic acceptance of teleport requests from friends /sethome Name – set a home point at your current position /sh Name – shorthand alias for /sethome /removehome Name – remove a previously set home point /rh Name – shorthand alias for /removehome /home NameHome – teleport to your home point /home NameHome FriendName – teleport to a friend’s home point /homelist – view all your home points /tpr Name – send a teleport request to a player /tpr – send a teleport request to the last player who accepted your request /tpa – accept a teleport request /tpc – cancel a teleport request
Warp System :
/warp list – show all available warps /warp points WarpName – show all teleport points for the specified warp /warp add WarpName – create a new warp or add an extra teleport point to that warp /warp edit WarpName PointNumber – edit a specific teleport point for the warp /warp remove WarpName – remove the warp and all its teleport points /warp remove WarpName PointNumber – remove the specified teleport point of the warp /NAMEWARP – command to teleport to a warp; created automatically based on your warp name
For Administrators :
/gmap – enable teleporting to any position via G-Map by right-clicking the map /tp Name – instantly teleport to a player /tp Name NameTwo – instantly teleport player “Name” to player “NameTwo” /mblock – block teleportation from the monument where the admin is currently standing /a.home points NameOrID – show all named home points of the specified player /a.home clear NameOrID – delete all home points of the specified player
Console Commands :
atp – toggle automatic acceptance of teleport requests from friends sethome Name – set a home point at your current position sh Name – shorthand alias for sethome removehome Name – remove a previously set home point rh Name – shorthand alias for removehome home NameHome – teleport to your home point home NameHome FriendName – teleport to a friend’s home point homelist – view all your home points tpr Name – send a teleport request to a player tpr – send a teleport request to the last player who accepted your request tpa – accept a teleport request tpc – cancel a teleport request
For Administrators :
gmap – enable teleporting to any position via G-Map by right-clicking the map tp Name – instantly teleport to a player tp Name NameTwo – instantly teleport player “Name” to player “NameTwo”
Configuration :
{ "General plugin settings": { "Log player actions to file (true = yes / false = no)": false, "Use sound effects (true = yes / false = no)": true, "Use GameTip messages instead of chat (true = yes / false = no)": false, "Wake the player immediately after teleport (otherwise they remain 'sleeping') (true = yes / false = no)": false, "List of monuments where teleportation is forbidden (applies to home points / teleport-to-player / warps)": [], "IQChat settings": { "IQChat : Custom prefix in the chat": "[IQTeleportation]", "IQChat : Custom avatar in the chat (Steam64ID) (If required)": "0" }, "SimpleStatus settings": { "SimpleStatus: Enable plugin support": false, "SimpleStatus: UI settings for teleportation": { "SimpleStatus: Background panel color": "0.3 0.3 0.3 0.5", "SimpleStatus: Prefix translations [LanguageKey] = Text": { "ru": "Телепортация", "en": "Teleporation" }, "SimpleStatus: Prefix color": "0.5647059 0.5490196 0.5333334 1", "SimpleStatus: UI sprite": "assets/icons/stopwatch.png", "SimpleStatus: Sprite color": "0.5647059 0.5490196 0.5333334 1" } } }, "Teleport-to-player settings": { "Teleport request settings": { "Offer to accept teleport requests in the UI (true = yes / false = no)": true, "Teleportation mode: true — teleport the player to the position where the request was accepted; false — teleport the player to the other player regardless of where it was accepted": false, "Allow players to send teleport requests via G-Map (true = yes / false = no)": true, "Use instant teleport to a point via G-Map (true = yes / false = no) (requires admin rights or the iqteleportation.gmap permission)": true, "Disable teleportation features on the server (tpr and tpa will be unavailable) (true = yes / false = no)": false, "Forbid sending and accepting teleport requests while the player is in a vehicle (true); otherwise teleport directly into the vehicle if a seat is free (false)": true, "Block sending and accepting teleport requests in a safe zone (true = yes / false = no)": false, "Block sending and accepting teleport requests during raid block (true = yes / false = no)": true, "Block sending and accepting teleport requests while the player is in the subway (train tunnels) (true = yes / false = no)": true, "Block sending and accepting teleport requests while the player is in the Underwater Lab (true = yes / false = no)": true, "Block sending and accepting teleport requests while the player is on the Cargo Ship (true = yes / false = no)": true, "Block sending and accepting teleport requests while the player is in a hot air balloon (true = yes / false = no)": true, "Block sending and accepting teleport requests while the player is cold (freezing) (true = yes / false = no)": true, "Block sending and accepting teleport requests while the player is swimming (true = yes / false = no)": true, "Block sending and accepting teleport requests while the player is under radiation (true = yes / false = no)": true, "Block sending and accepting teleport requests while the player is bleeding (true = yes / false = no)": true, "Block sending and accepting teleport requests while the player is in another player's building privilege area (building blocked) (true = yes / false = no)": true, "Allow teleportation only to friends (true = yes / false = no)": false }, "Teleport-to-player cooldown settings": { "Default count for players without permissions": 60, "Count overrides for players with permissions [Permission] = Count": { "iqteleportation.vip": 45, "iqteleportation.premium": 35, "iqteleportation.gold": 25 } }, "Teleport-to-player countdown settings": { "Default count for players without permissions": 20, "Count overrides for players with permissions [Permission] = Count": { "iqteleportation.vip": 15, "iqteleportation.premium": 10, "iqteleportation.gold": 5 } }, "Teleport-to-player limit settings": { "Use player teleport-to-player limits (true = yes / false = no)": false, "Hours until player limits are reset": 24, "Player teleport limit settings": { "Default count for players without permissions": 15, "Count overrides for players with permissions [Permission] = Count": { "iqteleportation.vip": 20, "iqteleportation.premium": 25, "iqteleportation.gold": 30 } } } }, "Home points settings": { "Allow teleporting to a friend's home point (true = yes / false = no)": true, "Enable UI with recent home points on G-Map (true = yes / false = no)": true, "Offer setting a home point in the UI after placing a bed or sleeping bag (true = yes / false = no)": true, "Allow players to teleport to a home point via G-Map (true = yes / false = no)": false, "Block home teleports in a safe zone (true = yes / false = no)": false, "Add a visual ping effect to the home point after it’s set (true = yes / false = no)": true, "Add a marker on the player’s G-Map after setting a home (true = yes / false = no)": true, "Permissions for setting home points": { "Block setting a home point during raid block (true = yes / false = no)": true, "Allow setting home points on tugboats (true = yes / false = no)": false, "Allow setting home points only when building privilege is present (true = yes / false = no)": true, "Allow setting home points only when authorized in the building privilege area (true = yes / false = no)": true }, "Home point count settings": { "Default count for players without permissions": 2, "Count overrides for players with permissions [Permission] = Count": { "iqteleportation.vip": 3, "iqteleportation.premium": 4, "iqteleportation.gold": 5 } }, "Home teleport cooldown settings": { "Default count for players without permissions": 30, "Count overrides for players with permissions [Permission] = Count": { "iqteleportation.vip": 25, "iqteleportation.premium": 20, "iqteleportation.gold": 15 } }, "Home teleport countdown settings": { "Default count for players without permissions": 20, "Count overrides for players with permissions [Permission] = Count": { "iqteleportation.vip": 15, "iqteleportation.premium": 10, "iqteleportation.gold": 5 } }, "Home teleport limit settings": { "Use player home-teleport limits (true = yes / false = no)": false, "Hours until player limits are reset": 12, "Home teleport limit settings": { "Default count for players without permissions": 15, "Count overrides for players with permissions [Permission] = Count": { "iqteleportation.vip": 20, "iqteleportation.premium": 25, "iqteleportation.gold": 30 } } } }, "Warp system settings": { "Enable warp support (true = yes / false = no)": false, "Block teleport to a warp if the player is hostile (safe-zone aggression) (true = yes / false = no)": true, "Teleport-to-warp cooldown settings": { "Default count for players without permissions": 120, "Count overrides for players with permissions [Permission] = Count": { "iqteleportation.vip": 100, "iqteleportation.premium": 80, "iqteleportation.gold": 60 } }, "Teleport-to-warp countdown settings": { "Default count for players without permissions": 30, "Count overrides for players with permissions [Permission] = Count": { "iqteleportation.vip": 25, "iqteleportation.premium": 20, "iqteleportation.gold": 15 } }, "Permissions for teleporting to specific warps: [WarpKey] = Permission (otherwise available to everyone)": { "warpName": "iqteleportation.warpPermission" }, "Teleport-to-warp limit settings": { "Use player teleport-to-warp limits (true = yes / false = no)": false, "Hours until player limits are reset": 6, "Teleport-to-warp limit settings": { "Default count for players without permissions": 15, "Count overrides for players with permissions [Permission] = Count": { "iqteleportation.vip": 20, "iqteleportation.premium": 25, "iqteleportation.gold": 30 } } } } }
For Developers :
API :
private void ClearHomesPlayer(UInt64 userID, String pluginName) // Clears all home points of the player. private Boolean API_HavePendingRequest(BasePlayer player) // Returns true if the player has an active (pending) teleport request. private Dictionary<String, Vector3> GetHomes(UInt64 userID) // Returns all home points of the player.
Hooks :
private Object CanTeleport(BasePlayer player) // Called when attempting to teleport to a player. // Return a string with the reason to cancel the teleport. private Object canTeleport(BasePlayer player) // Same as above (alternate hook name). // Return a string with the reason to cancel the teleport. private Object OnTeleportRequested(BasePlayer player, BasePlayer requester) // Called when a teleport request is sent to a player. // You can cancel by returning false (bool) or a String (your message). private Object CanTeleportHome(BasePlayer player, Vector3 positionHome) // Called when attempting to teleport home. // You can cancel by returning a String with the reason. private Object OnHomeAdd(BasePlayer player, String homeName, Vector3 positionHome) // Called when attempting to set a home point. // You can cancel by returning a String with the reason. private void OnTeleportRejected(BasePlayer player, BasePlayer requester) // Called when a teleport request to a player is canceled/rejected. private void OnTeleportAccepted(BasePlayer player, BasePlayer requester, Int32 countdown) // Called when a teleport request is accepted. private void OnPlayerTeleported(BasePlayer player, Vector3 playerPos, Vector3 teleportationPos) // Called after the player has been teleported. private void OnHomeAccepted(BasePlayer player, String homeName, Int32 countdown) // Called after the player has sent a teleport-home request. private void OnHomeAdded(BasePlayer player, Vector3 positionHome, String homeName) // Called after a home point has been set. private void OnHomeRemoved(BasePlayer player, Vector3 positionHome, String homeName) // Called after a home point has been removed. private Object CanTeleportWarp(BasePlayer player) // Called when a player tries to teleport to a warp. // Return a string to cancel; return null to ignore (allow). private Object CanTeleportHome(BasePlayer player, Vector3 positionHome) // Called when a player tries to teleport to a home point. // Return a string to cancel; return null to ignore (allow). private Object CanTeleportPlayer(BasePlayer player) // Called when a player tries to teleport to another player. // Return a string to cancel; return null to ignore (allow). private void OnPlayerTeleported(BasePlayer player, BasePlayer target) // Called when a player has teleported to another player. private void OnPlayerTeleportedWarp(BasePlayer player, Vector3 positionWarp) // Called when a player has teleported to a warp. private void OnPlayerTeleportedHome(BasePlayer player, Vector3 positionHome) // Called when a player has teleported to a home point.
