
Player Teleport
Player Teleport is a Fabric server-first mod that lets regular players teleport to other online players without requiring operator permission.
Screenshots

About this Mod
Player Teleport
Player Teleport is a Fabric server-first mod that lets regular players teleport to other online players without requiring operator permission.
The interaction model is intentionally minimal:
- use
/ptto view online players - click chat buttons to teleport
- use simple commands to decide who can teleport to you
- let administrators choose between direct teleport and request-based confirmation
- let administrators manage global behavior and team rules
Contents
- Overview
- Interaction Design
- Permission Rules
- Compatibility
- Dependencies
- Installation
- Player Commands
- Admin Commands
- Configuration
- Development and Build
Overview
- paged online player list
- clickable teleport actions in chat
- online player search
- random teleport to an eligible player
- each player can directly allow or deny who may teleport to them
- optional target approval before teleport happens
- target players can approve or reject requests through chat buttons or commands
- separate outgoing and incoming rules
- whitelist and blacklist support
- admin-configurable team teleport shortcuts
- admin-configurable global switches, cross-dimension behavior, request timeout, random teleport, page size, and cooldown
- persistent storage for player rules and cached player names
Interaction Design
Player Experience
- Run
/ptto open the online player list - Eligible targets show a green clickable button
- Ineligible targets show a direct reason instead
- The header includes quick buttons for
randomandrules - Page navigation is handled through
previousandnextbuttons - Use
/pt allow <player>or/pt deny <player>for direct control over who may teleport to you - When approval mode is enabled, teleport attempts create a request instead of teleporting immediately
- The target player can use chat buttons or
/pt accept <player>and/pt reject <player>to respond
Admin Experience
- Use
/ptadminto inspect current global settings - Use
/ptadmin set ...to update global configuration - Use
/ptadmin player <player> resetto reset one player's rules - Configure team-based shortcuts such as same-team bypass or same-team-only teleport
- Configure whether teleport requires target approval and how long requests remain valid
Permission Rules
A teleport is allowed only when all of the following checks pass:
- the global feature is enabled
- cross-dimension teleport is allowed when needed
- same-team-only restrictions are satisfied when enabled
- the source player is not on cooldown
- the source player's outgoing rule allows the target
- the target player's incoming rule allows the source
- when approval mode is enabled, the target accepts the request before it expires
Rule Modes
| Mode | Meaning |
|---|---|
all |
allow everyone |
none |
deny everyone |
whitelist |
allow only listed players |
blacklist |
deny listed players and allow the rest |
Rule Directions
| Direction | Meaning |
|---|---|
outgoing |
who I can teleport to |
incoming |
who can teleport to me |
Team Rules
Administrators can configure teleport behavior around vanilla scoreboard teams:
allowSameTeamBypassRules = true: same-team players bypass personal outgoing and incoming checkssameTeamOnly = true: teleport is allowed only between players on the same team
Compatibility
| Item | Requirement |
|---|---|
| Minecraft | 1.21 to 1.21.11 |
| Fabric Loader | 0.16.0+ |
| Java | 21+ |
| Fabric API | Required |
| Fabric Language Kotlin | Required |
The project currently targets Minecraft 1.21.11.
Dependencies
Install the following dependencies into the target mods directory together with this mod:
| Dependency | Required | Notes |
|---|---|---|
| Fabric API | Yes | Provides Fabric commands and runtime APIs |
| Fabric Language Kotlin | Yes | Required because this mod is written in Kotlin |
Installation
Server-first Usage
This mod is designed primarily as a server-side mod:
- Dedicated server: normally only the server needs this mod and its dependencies
- Singleplayer: local installation is still required because singleplayer uses an integrated server
Player Commands
| Command | Description |
|---|---|
/pt |
Show the first page of the online player list |
/pt page <page> |
Show a specific page |
/pt search <keyword> |
Search online players |
/pt search <keyword> <page> |
Search with pagination |
/pt tp <player> |
Teleport directly, or send a request when approval mode is enabled |
/pt random |
Teleport randomly to an eligible player |
/pt rules |
Show your current rule summary |
/pt allow <player> |
Directly allow a player to teleport to you and switch to incoming whitelist mode |
/pt deny <player> |
Directly deny a player from teleporting to you and switch to incoming blacklist mode |
/pt accept <player> |
Accept a pending teleport request |
/pt reject <player> |
Reject a pending teleport request |
/pt mode outgoing <mode> |
Set your outgoing mode |
/pt mode incoming <mode> |
Set your incoming mode |
/pt add outgoing <player> |
Add a player to your outgoing list |
/pt add incoming <player> |
Add a player to your incoming list |
/pt remove outgoing <player> |
Remove a player from your outgoing list |
/pt remove incoming <player> |
Remove a player from your incoming list |
Admin Commands
| Command | Description |
|---|---|
/ptadmin |
Show the current global config summary |
/ptadmin reload |
Reload the config file |
| `/ptadmin set enabled <true | false>` |
| `/ptadmin set allowCrossDimension <true | false>` |
| `/ptadmin set allowRandom <true | false>` |
| `/ptadmin set requireTargetApproval <true | false>` |
/ptadmin set requestTimeoutSeconds <5-120> |
Set request expiration time |
| `/ptadmin set allowSameTeamBypassRules <true | false>` |
| `/ptadmin set sameTeamOnly <true | false>` |
/ptadmin set pageSize <4-20> |
Set page size |
/ptadmin set cooldownSeconds <0-300> |
Set teleport cooldown |
/ptadmin set defaultOutgoing <mode> |
Set the default outgoing mode for new players |
/ptadmin set defaultIncoming <mode> |
Set the default incoming mode for new players |
/ptadmin player <player> reset |
Reset one player's rules |
Configuration
Config file path:
config/player-teleport.json
Default key settings:
{
"enabled": true,
"allowCrossDimension": true,
"allowRandom": true,
"requireTargetApproval": false,
"requestTimeoutSeconds": 20,
"allowSameTeamBypassRules": false,
"sameTeamOnly": false,
"pageSize": 8,
"cooldownSeconds": 3,
"defaultOutgoingMode": "ALL",
"defaultIncomingMode": "ALL"
}
Notes:
playerNamescaches player display names for cleaner list outputplayersstores outgoing and incoming rules by UUID- The direct
allowanddenycommands operate on incoming rules - When
requireTargetApproval = true, regular teleport actions become request-based
中文
Player Teleport 是一个 Fabric 服务端优先模组,用于让普通玩家在没有 OP 权限的情况下,快速传送到其他在线玩家身边。
设计目标是把操作压缩到最少:
- 用
/pt查看在线玩家列表 - 直接点击聊天按钮完成传送
- 用简单命令决定谁可以传送到自己身边
- 管理员可选择“直接传送”或“请求后确认”
- 由管理员统一控制全局行为和队伍规则
目录
功能概览
- 在线玩家分页展示
- 聊天消息点击传送
- 搜索在线玩家
- 随机传送到当前可用玩家
- 每个玩家都可以直接允许或禁止指定玩家传送到自己身边
- 支持管理员开启“目标玩家确认后才传送”
- 目标玩家可通过聊天点击或命令同意、拒绝传送请求
- 发送规则与接收规则分离
- 支持白名单与黑名单
- 支持管理员配置同队传送快捷规则
- 管理员可配置全局开关、跨维度、随机传送、请求超时、分页大小和冷却时间
- 玩家规则与名称缓存持久化保存
交互设计
玩家视角
- 输入
/pt即可查看在线玩家列表 - 可传送的目标会显示绿色点击按钮
- 不可传送的目标会直接显示原因
- 页眉中带有
随机和规则快捷按钮 - 翻页使用
上一页和下一页按钮 - 如需直接控制“谁能传送到我”,可直接使用
/pt allow <玩家>或/pt deny <玩家> - 如果服务器开启了传送确认,发起传送后会先向目标玩家发送请求
- 目标玩家可点击聊天中的
同意/拒绝,或使用/pt accept <玩家>、/pt reject <玩家>处理请求
管理员视角
- 使用
/ptadmin查看当前全局配置摘要 - 使用
/ptadmin set ...修改全局配置 - 使用
/ptadmin player <玩家> reset重置单个玩家的传送规则 - 可配置“同队可无视个人规则传送”或“仅同队可传送”
- 可配置传送是否必须经过目标玩家确认
权限规则
一次传送是否允许,由以下条件共同决定:
- 全局功能是否开启
- 是否允许跨维度传送
- 是否被限制为仅同队玩家可传送
- 发起者是否处于冷却中
- 发起者的发送规则是否允许目标玩家
- 目标玩家的接收规则是否允许发起者
- 如果开启确认模式,目标玩家是否在超时时间内同意请求
规则模式
| 模式 | 含义 |
|---|---|
all |
全部允许 |
none |
全部拒绝 |
whitelist |
仅名单内允许 |
blacklist |
名单内拒绝,其余允许 |
规则方向
| 方向 | 含义 |
|---|---|
outgoing |
我能传送到谁 |
incoming |
谁能传送到我 |
队伍规则
管理员可通过全局配置控制基于原版记分板队伍的传送行为:
allowSameTeamBypassRules = true:同队玩家可跳过双方个人规则检查sameTeamOnly = true:仅允许同队玩家之间传送
兼容性
| 项目 | 要求 |
|---|---|
| Minecraft | 1.21 到 1.21.11 |
| Fabric Loader | 0.16.0+ |
| Java | 21+ |
| Fabric API | 必需 |
| Fabric Language Kotlin | 必需 |
当前工程以 Minecraft 1.21.11 为主目标版本。
依赖
请确保以下依赖与本模组一起安装到对应环境的 mods 目录:
| 依赖 | 是否必需 | 说明 |
|---|---|---|
| Fabric API | 必需 | 提供 Fabric 命令与运行时 API |
| Fabric Language Kotlin | 必需 | 本模组使用 Kotlin 编写,缺失时无法加载 |
安装方式
服务端优先
本模组优先按服务端模组使用:
- 专用服务器:通常只需服务端安装本模组和依赖,客户端不需要安装
- 单人游戏:仍需本地安装,因为单人模式本质上运行的是内置服务器
玩家命令
| 命令 | 说明 |
|---|---|
/pt |
查看在线玩家列表第一页 |
/pt page <页码> |
查看指定页 |
/pt search <关键字> |
搜索在线玩家 |
/pt search <关键字> <页码> |
搜索结果分页 |
/pt tp <玩家> |
直接传送到指定玩家身边,或在确认模式下发送请求 |
/pt random |
随机传送到一个当前可用玩家 |
/pt rules |
查看自己的当前规则 |
/pt allow <玩家> |
直接允许指定玩家传送到你身边,并切换为接收白名单模式 |
/pt deny <玩家> |
直接禁止指定玩家传送到你身边,并切换为接收黑名单模式 |
/pt accept <玩家> |
同意指定玩家的传送请求 |
/pt reject <玩家> |
拒绝指定玩家的传送请求 |
/pt mode outgoing <模式> |
设置发送规则模式 |
/pt mode incoming <模式> |
设置接收规则模式 |
/pt add outgoing <玩家> |
将玩家加入发送名单 |
/pt add incoming <玩家> |
将玩家加入接收名单 |
/pt remove outgoing <玩家> |
将玩家移出发送名单 |
/pt remove incoming <玩家> |
将玩家移出接收名单 |
管理员命令
| 命令 | 说明 |
|---|---|
/ptadmin |
查看当前全局配置摘要 |
/ptadmin reload |
重载配置文件 |
| `/ptadmin set enabled <true | false>` |
| `/ptadmin set allowCrossDimension <true | false>` |
| `/ptadmin set allowRandom <true | false>` |
| `/ptadmin set requireTargetApproval <true | false>` |
/ptadmin set requestTimeoutSeconds <5-120> |
配置传送请求过期时间 |
| `/ptadmin set allowSameTeamBypassRules <true | false>` |
| `/ptadmin set sameTeamOnly <true | false>` |
/ptadmin set pageSize <4-20> |
设置每页显示数量 |
/ptadmin set cooldownSeconds <0-300> |
设置传送冷却时间 |
/ptadmin set defaultOutgoing <模式> |
设置新玩家默认发送模式 |
/ptadmin set defaultIncoming <模式> |
设置新玩家默认接收模式 |
/ptadmin player <玩家> reset |
重置指定玩家的规则 |
配置说明
配置文件路径:
config/player-teleport.json
默认关键配置:
{
"enabled": true,
"allowCrossDimension": true,
"allowRandom": true,
"requireTargetApproval": false,
"requestTimeoutSeconds": 20,
"allowSameTeamBypassRules": false,
"sameTeamOnly": false,
"pageSize": 8,
"cooldownSeconds": 3,
"defaultOutgoingMode": "ALL",
"defaultIncomingMode": "ALL"
}
说明:
playerNames用于缓存玩家显示名,方便在名单中展示players使用 UUID 作为键保存每个玩家的发送与接收规则- 直接命令
allow和deny实际作用于接收规则 requireTargetApproval = true时,普通传送会先进入请求确认流程
Available Versions
How to Install Player Teleport on Your Server
Order Server
Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).
Set fabric Loader
In the panel under "Egg", select the fabric loader and matching Minecraft version (1.21.11).
Install Mod
Open the mod browser in the dashboard and search for "Player Teleport". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.
Compatibility
Mod Loaders
Minecraft Versions
1.21.11, 1.21.10, 1.21.9 (+9 more)
Server-side
✓ RequiredRecommended RAM
4 GB(min. 3 GB)Frequently Asked Questions
Player Teleport server crashes on startup – what to do?
Most common cause: wrong fabric version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.21.11). You can switch loaders with one click in the panel.
Is Player Teleport compatible with fabric?
Player Teleport officially supports fabric for Minecraft 1.21.11, 1.21.10, 1.21.9. The Mado dashboard automatically detects incompatible loader combinations.
Server lagging with Player Teleport – how to optimize performance?
Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if Player Teleport consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.
Similar Mods
Rent Modded Server
Install Player Teleport with just one click on your server.