Join the Game4Freak Discord Get exclusive plugin sneak peeks, talk directly with VisEntities, never miss important updates, and unlock special discount codes!
Drift To Sea

Drift To Sea 1.0.0

Sign in to download
Reverses boat shore drift so unattended boats drift outward to sea instead
In vanilla Rust, unattended boats slowly drift toward the shore, which causes them to beach themselves and pile up along coastlines. This plugin reverses that behavior so abandoned boats drift out to sea instead, gradually moving away from shore until they reach open water.

Boats only drift when nobody is using them, and the plugin automatically stops them once they're far enough from shore, in deep enough water, or close to the edge of the map. Players actively near a boat won't see it move.

Useful for servers that want cleaner coastlines, fewer beached boats around fishing villages and monuments, and a more natural fate for boats that get left behind.


Configuration

JSON:
{
  "Version": "1.0.0",
  "How Long An Unattended Boat Waits Before Starting To Drift Out (Seconds)": 7200.0,
  "How Often The Boat Takes A Drift Step Once Drifting Has Started (Seconds)": 120.0,
  "How Fast The Boat Drifts Out To Sea Each Step": 1.0,
  "Stop Drifting Once The Boat Is This Far From The Nearest Shore": 400.0,
  "Stop Drifting Once The Water Beneath The Boat Is At Least This Deep": 15.0,
  "Stop Drifting If The Boat Gets This Close To The World Edge (Avoids Anti-Cheat Issues)": 200.0,
  "Random Sideways Wobble Added To The Drift Direction (Degrees, Spreads Boats Out Instead Of All Going Straight)": 15.0,
  "Only Drift Boats With These Prefab Short Names (Leave Empty To Drift Every Boat Type)": []
}
  • How Long An Unattended Boat Waits Before Starting To Drift Out -- Idle time in seconds before a boat is eligible to drift. Default 7200 is two hours, which roughly matches when most servers would consider a boat abandoned
  • How Often The Boat Takes A Drift Step Once Drifting Has Started -- Interval between drift checks once the boat starts drifting. Lower values give smoother motion but more server work. Must be high enough that DriftSpeed * SecondsBetweenDrift is greater than twice the boat's size, otherwise the step is too small and is skipped
  • How Fast The Boat Drifts Out To Sea Each Step -- Drift speed in world units per second. The distance moved per step is this value multiplied by the step interval.
  • Stop Drifting Once The Boat Is This Far From The Nearest Shore -- Distance from shore in meters at which drifting stops. Once a boat is this far out it will sit still until it moves closer again
  • Stop Drifting Once The Water Beneath The Boat Is At Least This Deep -- Water depth in meters at which drifting stops. Prevents boats from drifting indefinitely in open ocean once they're clearly out to sea
  • Stop Drifting If The Boat Gets This Close To The World Edge -- Buffer distance from the map edge in meters. Boats within this range of the world border will not drift further, which prevents teleport anti-cheat flags and boats falling off the world
  • Random Sideways Wobble Added To The Drift Direction -- Maximum random angle applied to each drift step. Set to 0 for perfectly straight drift paths. Higher values scatter boats more naturally instead of sending them all in identical lines
  • Only Drift Boats With These Prefab Short Names -- Whitelist of boat prefab short names to drift. Leave empty to apply to every boat. Use entries like rowboat, rhib, tugboat, sailboat, or kayak to limit the effect

Notes

  • The plugin replaces vanilla shore drift entirely while loaded. Unloading the plugin restores Rust's default behavior
  • Boats parked inside the Deep Sea zone are skipped, so offshore cargo and deep sea bases are unaffected
  • The drift check respects player network range, so a boat will not move while a player is close enough to see it
  • The plugin performs a raycast ahead of each drift step to avoid pushing boats into rocks, piers, or other entities
Author
VisEntities
Downloads
1
First release
Last update

Ratings

0.00 star(s) 0 reviews

Also by VisEntities

Back
Top
Chat commands start with a /, while console commands can be entered directly in the F1 console or server console. Use find <keyword> in console to search for available commands related to the plugin. Parameters in < > are required, while [ ] are optional.
This plugin uses Oxide's permission system. Grant or revoke permissions using oxide.grant and oxide.revoke. You can assign them to individual players or groups using their Steam id or group name.
Settings are stored in the config file found under the config/ directory. You can edit this file manually, then reload the plugin to apply your changes.
Persistent data is saved in the data/ directory. This includes things like saved settings, usage stats, or player progress depending on the plugin. Deleting a data file will reset stored progress or customizations.
Language files are located in the lang/ folder. To translate messages, copy the en.json file into your target language folder (e.g. fr, de) and edit the values. Reload the plugin after changes to apply new messages.
This section lists public methods exposed by the plugin for use in other plugins. You can call these via the CallHook method. Ensure the plugin is loaded before calling its API to avoid null reference errors.
These are custom hooks that other plugins can listen for. Simply define a method with the same name and expected parameters in your plugin to handle the event. Hooks are triggered at key moments and are useful for extending or reacting to plugin behavior.
These hooks are injected into the game's code using Harmony. They let the plugin run code at key points in the game's internal logic. You can return values to block or modify behavior. Use with caution — these are powerful and can affect core mechanics.
Cart