Configuration

Last updated Jul 6, 2026

Configuration

Every option in config.yml for SoapsTeleporter 1.0.5. The file is created on first run at plugins/SoapsTeleporter/config.yml.

Apply changes with /st reload or restart the server.


General Settings

general:
  debug: false
  auto-save-interval: 5
  message-cooldown: 3000
Option Default Description
debug false Enable debug logging. Also toggled with /st debug
auto-save-interval 5 Minutes between auto-saves of portal data. 0 disables auto-save
message-cooldown 3000 Milliseconds between repeated messages to the same player

GUI Settings

gui:
  enabled: true
Option Default Description
enabled true When true, /st manage opens chest inventory menus defined in gui.yml. When false, management uses the interactive chat interface

Menu layout and labels are in Default Config Files under gui.yml.


Performance Settings

performance:
  max-particles-per-tick: 200
  max-particles-per-portal: 500
  nearby-player-radius: 30.0
  adaptive-density: true
  adaptive-density-player-threshold: 15
Option Default Description
max-particles-per-tick 200 Global particle cap per tick. 0 means unlimited
max-particles-per-portal 500 Per-portal particle cap. 0 means unlimited
nearby-player-radius 30.0 Blocks from a player where portal particles render
adaptive-density true Reduce particle density when player count is high
adaptive-density-player-threshold 15 Online player count that triggers density limiting

Particle Settings

particles:
  enabled: true
  portal:
    particle: "DUST"
    count: 8
    spread: 0.3
    interval: 10
    volumetric-rendering: true
  teleport:
    particle: "ENCHANT"
    count: 30
  selection:
    particle: "END_ROD"
    count: 1
    interval: 20
    spread: 0.2
Section Key options Description
Global enabled Master switch for all plugin particles
portal particle, count, spread, interval, volumetric-rendering Defaults for new portals
teleport particle, count Burst when a player teleports
selection particle, count, interval, spread Markers at wand positions

Individual portals override defaults with /st setparticle, /st setcount, /st setspread, and /st setinterval.


Portal Mechanics

portals:
  limits:
    max-portals-per-player: 0
    max-portals-per-world: 0
    max-portals-per-chunk: 4
    max-size: 50
    min-size: 1
  shape-preview:
    default-frame-material: OBSIDIAN
  teleportation:
    preserve-orientation: true
    auto-adjust-destination: true
Option Default Description
max-portals-per-player 0 Creation limit per player. 0 is unlimited. Bypass: st.portal.limit.bypass
max-portals-per-world 0 Limit per world. 0 is unlimited
max-portals-per-chunk 4 Limit per chunk to reduce overload
max-size / min-size 50 / 1 Portal size bounds in blocks per side
default-frame-material OBSIDIAN Block used by /st shapepreview place when no material is given
preserve-orientation true Keep player yaw and pitch after teleport when no direction override is set
auto-adjust-destination true Search for a nearby safe spot if the destination is blocked

Player Settings

players:
  permissions:
    per-portal-permissions: true
Option Default Description
per-portal-permissions true When enabled, each portal uses st.portal.use.<name> in addition to st.portal.use

Safety Settings

safety:
  safe-teleport: true
  cross-world: true
  enhanced-safety: true
  safe-search-radius: 10
Option Default Description
safe-teleport true Verify destination safety before teleporting
cross-world true Allow portals to link across worlds
enhanced-safety true Extra checks for lava, fire, void, and similar hazards
safe-search-radius 10 Blocks to search for a safe landing spot

Disable per portal with /st setdisablesafecheck <portal> true or false.


Random Teleport (RTP) Settings

rtp:
  preload:
    enabled: true
    radius: 1
    timeout: 5000
    allow-new-chunk-generation: true
  cooldown:
    enabled: true
    time: 60
  retry:
    max-attempts: 10
    retry-delay: 100
Section Option Description
Preload enabled Preload chunks at the RTP destination
Preload radius Chunk radius (1 loads a 3x3 chunk area)
Preload timeout Max wait for chunk load in milliseconds
Preload allow-new-chunk-generation Allow generating new terrain
Cooldown enabled / time Global RTP cooldown in seconds
Retry max-attempts Tries to find a safe random location
Retry retry-delay Milliseconds between attempts

Per-portal RTP range is set with /st settype <portal> rtp [world] [min] [max].


Portal Protection

protection:
  enabled: true
  radius: 2
  protect-frame: true
  bypass-permission: "st.protection.bypass"
Option Default Description
enabled true Block break and place inside protected portal areas
radius 2 Protection radius in blocks
protect-frame true Include portal frame blocks
bypass-permission st.protection.bypass Permission to bypass protection

Economy Settings

economy:
  enabled: true
  currency-format: "$%.2f"
  payment-timing: "before"
  refund-on-failure: true
Option Default Description
enabled true Enable Vault economy integration
currency-format $%.2f Display format for money amounts
payment-timing before before or after teleport payment
refund-on-failure true Refund money if teleport fails

Requires Vault and a compatible economy plugin. See Economy.


Integration Settings

integrations:
  worldguard:
    enabled: false
    require-build-permission: true
    check-teleport-permission: true
    respect-claims-rtp: true
  lands:
    enabled: false
    respect-claims-rtp: true
    require-land-permission: true

All integrations are disabled by default. Enable only the plugins you use. Details are on Integrations.


Messages and GUI Files

Player-facing text lives in messages.yml. Inventory menus live in gui.yml. Portal data is stored in portals.yml.

See Default Config Files for complete shipped defaults.


Next Steps

Discord