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

Boat Auto Pilot 1.0.0

Automatically navigates player-built boats to map marker destinations


Boat Auto Pilot enables hands-free navigation for player-built boats in Rust. Players sitting at a boat's steering wheel can place a map marker to set a destination, and the boat will automatically navigate there using its engines and sails. The autopilot handles steering, manages engines and sails for optimal speed, avoids shallow water, and stops when arriving at the destination.

The plugin works with boats using engines, sails, or both, automatically using whichever propulsion system is available. When approaching the destination, it intelligently slows down by turning off engines while keeping sails open for gentle arrival.

Features

  • Map marker navigation - Set destinations by placing map markers while seated at the steering wheel
  • Smart propulsion management - Automatically uses engines, sails, or both depending on what's available
  • Intelligent slowing - Turns off engines near the destination to avoid overshooting while maintaining sail control
  • Shallow water detection - Monitors water depth ahead and stops autopilot if shallow water is detected
  • Obstacle clearing - Optionally destroys junk piles and dive site buoys in the boat's path
  • Fuel management - Monitors engine fuel levels and stops if fuel runs out (configurable)
  • Team support - All teammates aboard see navigation visuals and receive autopilot notifications
  • Visual navigation aids - Shows destination markers, distance, estimated arrival time, and directional arrows to teammates
  • Safety features - Automatically stops when players mount the steering wheel or when no players are aboard

Permissions

  • boatautopilot.use -- Allows using autopilot and seeing the initial steering wheel tip

Commands

Player Commands

  • /autopilot-- Displays current autopilot status and instructions
  • /autopilot stop -- Manually stops the active autopilot

Admin Commands

  • boatautopilot.stop all -- Stops all active autopilots server-wide
  • boatautopilot.stop <playerID> -- Stops autopilot for specific player

Configuration

JSON:
{
  "Version": "1.0.0",
  "General Settings": {
    "Chat Command Name": "autopilot",
    "Maximum Autopilot Distance (0 = Unlimited)": 0.0,
    "Require Fuel For Engines": true,
    "Remove Map Marker When Autopilot Stops": true,
    "Stop Autopilot When No Players On Boat": true,
    "Destroy Water Obstacles In Path": true
  },
  "Navigation Settings": {
    "Distance To Consider Arrived At Destination": 15.0,
    "Distance To Start Slowing Down (Engines Off, Sails Only)": 50.0,
    "Minimum Water Depth Required": 4.0
  }
}

General Settings

  • Chat Command Name -- The chat command players use to check status and stop autopilot
  • Maximum Autopilot Distance -- Maximum allowed distance to destination in meters. Set to 0 to allow unlimited range
  • Require Fuel For Engines -- When true, boats with engines must have fuel to engage autopilot. When false, engines work without fuel
  • Remove Map Marker When Autopilot Stops -- When true, automatically removes the destination marker when autopilot stops for any reason
  • Stop Autopilot When No Players On Boat -- When true, autopilot disengages when all players leave the boat
  • Destroy Water Obstacles In Path -- When true, automatically destroys junk piles and dive site buoys in the boat's path to prevent collisions

Navigation Settings

  • Distance To Consider Arrived At Destination -- Distance in meters at which the boat is considered to have arrived at the destination
  • Distance To Start Slowing Down -- Distance in meters at which engines turn off and the boat relies on sails only for gentle approach. This prevents overshooting the destination
  • Minimum Water Depth Required -- Minimum water depth in meters required for safe navigation. Autopilot stops if water depth ahead falls below this value

How to Use

Basic Usage

  1. Board your boat - Get into any player-built boat
  2. Sit at the steering wheel - Mount the steering wheel seat
  3. Place a map marker - Open your map (default: G) and place a marker at your desired destination
  4. Autopilot engages - The boat will automatically navigate to the marker
  5. Dismount or wait - You can dismount the steering wheel and let the boat sail itself

During Autopilot

What you'll see:
  • Green arrow above the boat pointing toward the destination
  • Destination marker showing distance and estimated arrival time
  • The steering wheel animates as if being controlled
  • Engines and sails activate automatically
To change destination:
  • Place a new map marker - autopilot switches to the new destination
To stop autopilot:
  • Mount the steering wheel, or
  • Use /autopilot stop, or
  • Remove the map marker

Propulsion Types

The plugin automatically detects and uses available propulsion:
  • Engines and sails - Uses both for maximum speed
  • Engines only - Motor rowboats and RHIBs without sails
  • Sails only (slower speed) - Rowboats without engines
When you engage autopilot, you'll receive a notification indicating which propulsion system is being used.

Autopilot Behavior

Navigation Logic

The autopilot continuously adjusts steering to stay on course toward the destination. It uses the boat's sail direction (if available) or hull orientation to determine forward direction, then calculates the angle to the target and adjusts steering accordingly.

Speed Management

  • Far from destination - Engines on, sails open for maximum speed
  • Approaching destination - Engines turn off at the configured slowing distance, sails remain open for controlled approach
  • Arrival - All engines and sails turn off when within the arrival distance

Safety Checks

Autopilot automatically stops when:
  • Arrived at destination - Within configured arrival distance
  • Shallow water detected - Water depth ahead falls below minimum required depth
  • Fuel depleted - Engines run out of fuel (if fuel requirement is enabled)
  • Anchor lowered - Someone drops the anchor
  • Manual control - Someone mounts the steering wheel
  • No passengers - All players leave the boat (if configured)
  • Marker removed - The destination map marker is deleted
  • Stuck - Boat speed remains below 0.3 for 4 seconds while far from destination

Obstacle Handling

When Destroy Water Obstacles In Path is enabled:
  • Scans 15 meters ahead every 1.5 seconds
  • Automatically destroys junk piles and dive site buoys within 20 meters
  • Prevents collisions that could stop or damage the boat

Team Features

All teammates aboard the boat see:
  • Navigation visuals (destination marker, directional arrows)
  • Autopilot status notifications
  • Distance and estimated arrival time

Localization

JSON:
{
  "Error.NoPermission": "You do not have permission to use this command.",
  "Error.DestinationTooShallow": "The destination is too shallow for navigation.",
  "Error.DestinationTooFar": "The destination is too far away.",
  "Error.NoPropulsion": "This boat has no engines or sails.",
  "Error.OutOfFuel": "The engines have no fuel.",
  "Error.AnchorDown": "Raise the anchor before engaging autopilot.",
  "Notification.Activated": "Autopilot engaged! Propelled by {1}. Place a new marker to change destination. To disengage, sit at the steering wheel or type /{0} stop.",
  "Notification.Stopped": "Autopilot disengaged.",
  "Stopped.ManualControl": "Autopilot disengaged. Manual control resumed.",
  "Stopped.NoPlayers": "Autopilot disengaged. No players aboard.",
  "Stopped.ShallowWater": "Autopilot disengaged. Shallow water detected ahead.",
  "Stopped.OutOfFuel": "Autopilot disengaged. Out of fuel.",
  "Stopped.Stuck": "Autopilot disengaged. The boat appears to be stuck.",
  "Stopped.AnchorLowered": "Autopilot disengaged. The anchor was lowered.",
  "Stopped.MarkerRemoved": "Autopilot disengaged. The destination marker was removed.",
  "Notification.Arrived": "You have arrived at your destination!",
  "Propulsion.Both": "engines and sails",
  "Propulsion.EnginesOnly": "engines",
  "Propulsion.SailsOnly": "sails only (slower speed)",
  "Status.Active": "Autopilot is active. Distance to destination: {0}m.",
  "Status.NotActive": "Autopilot is not active.",
  "Info.PlaceMarker": "Sit at the steering wheel and place a map marker to engage autopilot.",
  "Marker.Label": "Autopilot Destination",
  "Tip.SteeringWheel": "Place a map marker to engage autopilot."
}
Author
VisEntities
License duration
Unlimited
Price
12.99 USD
First release
Last update

Ratings

0.00 star(s) 0 reviews

Also by VisEntities

  • Tornado
    Tornado
    Spawns tornadoes that roam the map and launch rockets at players and buildings
  • Custom Crate Spawns
    Custom Crate Spawns
    Lets you add additional spawn points for loot containers
  • Button Commands
    Button Commands
    Run commands when an electric button is pressed
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