Identified a few race conditions and thread blocking calls for servers that have ~100+ latency between server and DB.
Updated the NBT serialization to properly restore entties crossing border with player.
- Fixed a bug when players cross with a passenger as a mob in a boat, the boat would be collected first with the mob and teleported. The mob would then be collected as a nearby entity and potentially be duplicated if the player teleports back and forth rapidly
Version 2.0 is a massive leap forward for CrossServerTP, transforming it from a simple player teleportation system into a comprehensive solution for
seamless cross-server travel. This update introduces the ability to bring your companions and creations with you, ensures a more immersive transition
between worlds, and adds critical stability improvements.
Key Features
➤ Full Entity Teleportation
Never leave your friends behind again! You can now travel across servers with almost any entity. All of these features are fully configurable and can
be disabled if desired.
* Vehicles & Passengers: Ride your horse, boat, or minecart directly into another server. Any other passengers (like villagers in a boat) will come
along for the ride!
* Leashed & Nearby Mobs: Bring your leashed pets or lead a train of villagers and other mobs across server boundaries.
* Inventory Preservation: Entities with inventories, like Chest Boats and Minecarts with Chests, will keep their contents perfectly intact during the
teleport.
* Advanced Filtering: You have full control! Use the new mobs and vehicles sections in your config to create blacklists or whitelists for exactly which
entities are allowed to teleport.
➤ Seamless World Transition ("Tunnel Sync")
Experience a truly immersive transition! When you cross a border, the plugin now temporarily copies the terrain you're leaving behind onto the
destination server. This creates a "tunnel" effect, allowing you to see the world you just came from as you arrive, making the world feel more
connected than ever.
➤ Server Offline Protection
No more teleporting into the void! The plugin now uses a smart Redis-based heartbeat system to check if a destination server is online before you
teleport. If a server is offline, you'll be safely bounced back from the border and notified, preventing players from getting stuck.
➤ Player State Preservation
Your movement state is now synced across servers. Whether you were flying, gliding, or even crawling, you'll arrive on the new server in the exact same
state you left the last one.
New Configuration
To support these new features, several important options have been added to your config.yml. The plugin will automatically add the new sections, but
you must configure them.
server-name (CRITICAL)
You must set a unique server-name in the config.yml of each of your servers. This is essential for the new Server Offline Protection feature.
1 # Server Identity
2 # This is the unique name of THIS server, as defined in your BungeeCord/Velocity config.
3 # It's used for the Redis heartbeat to let other servers know it's online.
4 server-name: "smp-na-1"
entity-teleportation
This entire section is new and allows you to enable/disable and filter all aspects of entity teleportation.
1 entity-teleportation:
2 enabled: true
3 teleport-vehicles: true
4 teleport-leashed-mobs: true
5 # ... and more
messages
Customize the message players see when a destination server is offline.
1 messages:
2 server-offline: "&cThe destination server is currently offline. Please try again later."
How to Upgrade
1. Stop your servers.
2. Replace the old CrossServerTP.jar with the new CrossServerTP_V2.0.jar in your plugins folder.
3. Start your servers once to allow the new options to be added to your config.yml files.
4. Stop your servers again.
5. Edit config.yml on each server, paying close attention to setting the unique server-name.
6. Start your servers and enjoy the new features!
---
Thank you for using CrossServerTP! We hope you enjoy this major update.
