Advanced Set Spawn
[★] Features:
- Spawn onJoin (true/false)
- Spawn onDeath (true/false)
- Enable Command SetFirstSpawn (true/false)
- Enable Command SetSpawn (true/false)
- Disable Cooldown Has Permission (true/false)
- Customizable Messages
- PlaySound on Teleport to the Spawn Point.
- Teleport all players to the Spawn Point
- Teleport players to the Spawn Point on falling in to the void [v2.1]
- Teleport players to the Spawn Point on falling in to the void [v2.1]
- Check if player has changed its location (true/false) [v2.4]
- Now you can hide any message! [v2.5]
- Support up to MC 1.26.2
- Support up to MC 1.26.2
- Per-World spawn!
- MySQL & SQLite integration.
- Back to your previous last death spot.
- First Join Counter and Welcome Message
- Lobby command for a Bungeecord Network and a Single Server with multiple Worlds.
- Multilang. Support (Spanish, Russian, French & English)
[⌨] Commands:
commands:
spawn:
description: Teleport to the server spawn
usage: /spawn [player]
setspawn:
description: Set the server spawn at your position
usage: /setspawn [world]
firstspawn:
description: Go to the first spawn (where new players appear)
usage: /firstspawn
setfirstspawn:
description: Set the first spawn (new players) at your position
usage: /setfirstspawn
lobby:
description: Go to the lobby (proxy network server or this server's spawn)
usage: /lobby
aliases: [hub]
setlobby:
description: Set the lobby location on this server (no proxy needed)
usage: /setlobby
back:
description: Return to your last death location
usage: /back
aliases: [return]
delspawn:
description: Delete the stored spawn, first spawn or per-world spawns
usage: /delspawn [spawn|firstspawn|lobby|world|all] [world]
aliases: [removespawn]
advancedspawn:
description: AdvancedSpawn admin commands
usage: /aspawn [help|reload|tp|tpall|del|setworldspawn|setlobby|spawn|firstspawn|setspawn|setfirstspawn]
aliases: [aspawn, asetspawn]
You can also use /advancedspawn & /asetspawn instead /aspawn
[♚] Permissions:
permissions:
advancedspawn.*:
description: Full access to AdvancedSpawn
default: op
children:
advancedspawn.spawn: true
advancedspawn.spawn.others: true
advancedspawn.tpall: true
advancedspawn.setspawn: true
advancedspawn.setfirstspawn: true
advancedspawn.delspawn: true
advancedspawn.lobby: true
advancedspawn.back: true
advancedspawn.setlobby: true
advancedspawn.bypass.firstspawn: true
advancedspawn.firstspawn: true
advancedspawn.admin: true
advancedspawn.bypass.delay: true
advancedspawn.bypass.cooldown: true
advancedspawn.spawn:
description: Use /spawn
default: true
advancedspawn.lobby:
description: Use /lobby
default: true
advancedspawn.back:
description: Use /back to return to your last death location
default: true
advancedspawn.setlobby:
description: Use /setlobby to set the lobby location
default: op
advancedspawn.spawn.others:
description: Send another player to the spawn (/spawn <player> or /aspawn tp)
default: op
advancedspawn.tpall:
description: Send every player to the spawn (/aspawn tpall)
default: op
advancedspawn.setspawn:
description: Use /setspawn (including /setspawn world)
default: op
advancedspawn.setfirstspawn:
description: Use /setfirstspawn
default: op
advancedspawn.delspawn:
description: Use /delspawn to delete stored spawns
default: op
advancedspawn.firstspawn:
description: Use /firstspawn
default: op
advancedspawn.admin:
description: Use /aspawn help and /aspawn reload
default: op
advancedspawn.bypass.delay:
description: Skip the teleport delay
default: op
advancedspawn.bypass.cooldown:
description: Skip the /spawn reuse cooldown
default: op
advancedspawn.bypass.firstspawn:
description: Not teleported to the first spawn on first join
default: false
advancedspawn.bypass.tpall:
description: Not affected by /aspawn tpall
default: false
[✎] Config. (v3.6):
# ============================================================
# AdvancedSpawn - Configuration
# Compatible with Spigot/Paper 1.8.8 -> 1.21+
# Bedrock players: supported via GeyserMC + Floodgate
#
# * All texts live in the lang/ folder (one file per language)
# * Colors with & (e.g. &a) and hex &#RRGGBB (1.16+)
# ============================================================
# ------------------------------------------------------------
# Languages
# All texts live in plugins/AdvancedSpawn/lang/<code>.yml.
# Bundled files: en, es, ru, fr. Copy one and rename it to add
# your own (e.g. de.yml, pt_br.yml) - it is picked up on reload.
# Your edits are never overwritten by plugin updates.
#
# Any message can use {firstjoins}: the number of unique players
# who have ever joined (stored in data.yml).
#
# default: language used for the console and as a fallback.
# per-player: send each player the file matching their Minecraft
# client language ("es_es" tries es_es.yml, then es.yml).
# Bedrock players report their locale through Geyser.
# Set to false to use "default" for everyone.
# ------------------------------------------------------------
language:
default: "en"
per-player: true
# ------------------------------------------------------------
# Storage of the spawn locations
# YAML -> in this very config.yml (default)
# SQLITE -> local database at plugins/AdvancedSpawn/spawns.db
# MYSQL -> external MySQL/MariaDB server
# The SQLite and MySQL drivers are already bundled with Spigot/Paper.
#
# Performance: locations are ALWAYS kept in memory. The database is
# only used when loading, saving or deleting (asynchronously), never
# during events or teleports.
#
# When switching to SQLITE/MYSQL, the spawns in this config.yml are
# automatically migrated to the database on first run.
# ------------------------------------------------------------
storage:
type: "YAML"
sqlite:
file: "spawns.db"
mysql:
host: "localhost"
port: 3306
database: "minecraft"
username: "user"
password: "secret"
table-prefix: "advancedspawn_"
use-ssl: false
# ------------------------------------------------------------
# Per-world spawns (optional)
# With enabled: true, each world can have its own spawn:
# /setspawn world -> sets the current world's spawn
# /delspawn world [name] -> removes it
# /spawn, /aspawn tp[all], the void rescue and the death respawn
# will use the spawn of the world the player is in.
#
# fallback: what to do when the world has NO spawn of its own:
# GLOBAL -> use the main spawn (default)
# DENY -> do not teleport and warn the player
# The first spawn for new players is always global.
# ------------------------------------------------------------
per-world:
enabled: false
fallback: "GLOBAL"
# ------------------------------------------------------------
# /back command (alias: /return)
# Returns the player to the location of their last death.
# Deaths in the void are ignored (returning there would kill the
# player again). Locations are kept in memory and cleared on
# server restart.
#
# use-teleport-delay: apply the /spawn countdown (cancelled by
# moving or taking damage) before returning.
# single-use: forget the location after using /back once.
# clear-on-quit: forget the location when the player disconnects.
# cooldown-seconds: wait time between /back uses (0 = none).
#
# NOTE: EssentialsX also registers /back. If both plugins are
# installed, use /advancedspawn:back or set an alias in the
# server's commands.yml to choose which one wins.
# ------------------------------------------------------------
back:
enabled: true
use-teleport-delay: true
single-use: false
clear-on-quit: false
cooldown-seconds: 0
# ------------------------------------------------------------
# /lobby command (optional, multi-server) - alias: /hub
# SERVER -> sends the player to another server of your
# BungeeCord/Velocity network via plugin messaging.
# "server-name" must match the name registered in your
# proxy config (BungeeCord config.yml / velocity.toml).
# On Velocity, bungee-plugin-message-channel must be
# enabled (it is by default).
# LOCATION -> teleports to a lobby point on THIS server, set
# in-game with /setlobby. For servers without a
# BungeeCord/Velocity network.
# SPAWN -> /lobby behaves exactly like /spawn on this server.
# use-teleport-delay: apply the /spawn countdown (cancelled by
# moving or taking damage) before switching servers / teleporting.
# Note: SERVER mode only works behind a proxy; without one the
# connect request is ignored - use LOCATION instead.
# "server-name" is only used by SERVER mode.
# ------------------------------------------------------------
lobby:
enabled: false
mode: "SERVER"
server-name: "lobby"
use-teleport-delay: false
# ------------------------------------------------------------
# How teleport messages are displayed to players
# CHAT -> chat messages only (default)
# TITLE -> on-screen titles only
# BOTH -> chat message and title
# Applies to the teleport flow messages: teleporting, teleported,
# cancellations, cooldown and void rescue. Other messages (admin
# feedback, help, welcome) always use chat.
# Tip: put "\n" inside a message to split it into title (first line)
# and subtitle (second line).
# Titles need 1.8.7+ and also work for Bedrock players via Geyser.
# ------------------------------------------------------------
titles:
mode: "CHAT"
fade-in-ticks: 5
stay-ticks: 40
fade-out-ticks: 10
# ------------------------------------------------------------
# Where are the locations stored?
# Spawn, first spawn, lobby and per-world spawns live in
# spawns.yml (YAML mode) or in the database (SQLITE/MYSQL).
# They are NOT in this file: settings and player data stay
# separate, so resetting one never touches the other.
# Set them in-game with /setspawn, /setfirstspawn,
# /setspawn world and /setlobby.
# ------------------------------------------------------------
teleport:
# Seconds to wait before teleporting with /spawn (0 = instant)
delay-seconds: 3
# Show the countdown every second
countdown-messages: true
# Cancel the teleport if the player moves to another block
cancel-on-move: true
# Cancel the teleport if the player takes damage
cancel-on-damage: true
# Cooldown in seconds between /spawn uses (0 = no cooldown)
cooldown-seconds: 0
# Sound played on arrival ("none" to disable).
# Names are adapted automatically across versions.
# List: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Sound.html
sound: "ENTITY_ENDERMAN_TELEPORT"
sound-volume: 1.0
sound-pitch: 1.0
# Particles shown on arrival ("none" to disable)
particles: "PORTAL"
particle-count: 40
# Seconds of fall-damage protection after being teleported
no-fall-damage-seconds: 2
join:
# Teleport to the FIRST spawn only the first time a player joins
teleport-first-join: true
# Teleport to the spawn EVERY time a player joins the server
teleport-always: false
# Send the private welcome message to the new player
# (text: "first-join-message" in the lang files)
send-first-join-message: true
# Announce the new player to everyone, each in their own language
# (text: "first-join-broadcast" in the lang files)
send-first-join-broadcast: true
# Announce EVERY join with your own message, each player in their
# own language (text: "join-broadcast" in the lang files).
# Skipped on a player's first join so the welcome is not doubled.
send-join-broadcast: false
# Hide the vanilla yellow "X joined the game" line.
# Turn this on when using send-join-broadcast to replace it.
hide-default-join-message: false
respawn:
# Respawn at the spawn after dying
teleport-to-spawn: true
# Respect the player's bed / respawn anchor if they have one
respect-bed-spawn: true
void:
# Teleport to the spawn when falling into the void
enabled: true
# Blocks below the world's lower limit before it triggers.
# The limit is detected automatically: y=0 on 1.8-1.17, y=-64 on 1.18+
trigger-below: 4
# ============================================================
# AdvancedSpawn - English (en)
# Any message set to "" is HIDDEN (never sent).
# Colors: & codes everywhere, hex &#RRGGBB on 1.16+.
# Use \n inside a message to split title / subtitle in TITLE mode.
# ============================================================
prefix: "&8[&bSpawn&8] &7"
no-permission: "&cYou don't have permission to do this."
players-only: "&cThis command can only be used by a player in-game."
spawn-not-set: "&cThe spawn is not set yet. An admin must use &f/setspawn&c."
firstspawn-not-set: "&cThe first spawn is not set yet. Use &f/setfirstspawn&c."
spawn-set: "&aSpawn set in &f{world} &7({x}, {y}, {z})"
firstspawn-set: "&aFirst spawn set in &f{world} &7({x}, {y}, {z})"
teleporting: "&7Teleporting in &b{seconds}s&7... Don't move!"
teleported: "&aYou have arrived at the spawn."
teleported-firstspawn: "&aYou have arrived at the first spawn."
teleport-cancelled-move: "&cTeleport cancelled: you moved."
teleport-cancelled-damage: "&cTeleport cancelled: you took damage."
already-teleporting: "&cYou already have a teleport in progress."
cooldown: "&cWait &f{seconds}s &cbefore using /spawn again."
teleported-other: "&aYou sent &f{player} &ato the spawn."
teleported-by-other: "&aYou were sent to the spawn by &f{player}&a."
tpall-success: "&aYou sent &f{count} &aplayer(s) to the spawn."
player-not-found: "&cPlayer &f{player} &cnot found."
void-teleport: "&7You fell into the void... Returning to spawn."
reloaded: "&aConfiguration reloaded successfully."
spawn-deleted: "&aMain spawn deleted."
firstspawn-deleted: "&aFirst spawn deleted."
nothing-to-delete: "&cThere is nothing to delete."
delspawn-specify: "&cSeveral locations are stored. Use &f/delspawn <spawn|firstspawn|world|all>&c."
world-spawn-set: "&aSpawn for world &f{world} &aset &7({x}, {y}, {z})"
world-spawn-deleted: "&aSpawn for world &f{world} &adeleted."
world-spawns-deleted: "&aDeleted the spawns of &f{count} &aworld(s)."
world-spawn-not-set: "&cWorld &f{world} &chas no spawn of its own."
per-world-disabled-hint: "&7Note: per-world mode is disabled (per-world.enabled in config.yml)."
lobby-sending: "&7Sending you to the lobby server..."
lobby-not-configured: "&cThe lobby server is not configured (lobby.server-name in config.yml)."
lobby-disabled: "&cThe /lobby command is disabled on this server."
back-disabled: "&cThe /back command is disabled on this server."
back-none: "&cNo death location stored yet."
back-returned: "&aReturned to your last death location."
back-world-unloaded: "&cThe world of your last death is not loaded."
back-cooldown: "&cWait &f{seconds}s &cbefore using /back again."
first-join-message: "&eWelcome to the server, &6{player}&e!"
first-join-broadcast: "&d{player} &7joined the server for the first time. &e#{firstjoins}"
help:
- "&8&m----------------------------------------"
- " &b&lAdvancedSpawn &7- Commands:"
- " &c/spawn &7- Go to the spawn."
- " &c/lobby &7- Go to the lobby (network server or spawn)."
- " &c/back &7- Return to your last death location."
- " &c/spawn <player> &7- Send a player to the spawn."
- " &c/setspawn &7- Set the spawn here."
- " &c/firstspawn &7- Go to the first spawn."
- " &c/setfirstspawn &7- Set the first spawn (new players)."
- " &c/setspawn world &7- Set the current world's own spawn (per-world)."
- " &c/delspawn [spawn|firstspawn|world|all] &7- Delete stored spawns."
- " &c/aspawn tp <player> &7- Send a player to the spawn."
- " &c/aspawn tpall &7- Send everyone to the spawn."
- " &c/aspawn reload &7- Reload the configuration."
- "&8&m----------------------------------------"
[♫] Sound List:
[❖] Take in Mind:
- Permissions on V3+ changed from advancedsetspawn.* to advancedspawn.*
( ͡~ ͜ʖ ͡°) Report any issues that you have in the comments section!

-
View User Profile
-
Send Message
Posted Jul 17, 2026Guys, Check it out the new version, it fixed all the issues prescibed below.
-
View User Profile
-
Send Message
Posted Dec 16, 2024How do I remove a spawn?
-
View User Profile
-
Send Message
Posted Aug 15, 2026In reply to LaZizis:
/delspawn <world>
-
View User Profile
-
Send Message
Posted Dec 16, 2024I am having a problem on a server where I cant remove an accidental spawn, I wanted just the first spawn to be at this location and beds to be players normal spawn location.
-
View User Profile
-
Send Message
Posted Aug 15, 2026In reply to LaZizis:
Fixed on AdvancedSpawn > V3
-
View User Profile
-
Send Message
Posted Jun 9, 2024im new at server plugins.
i tried to get in my yml and change things but when i change somthing its not working.
what to do??
-
View User Profile
-
Send Message
Posted Aug 15, 2026In reply to yair13141:
Fixed on newest versions
-
View User Profile
-
Send Message
Posted Feb 28, 2024Hi, very good plugin, which suits me, but I have one problem with it, when I set the spawn, then after restart, I do not know for what reason, it removes itself, the files on restart saves, and in the file spawn.yml after closing the server everything is there, but when the server starts, it removes the content
-
View User Profile
-
Send Message
Posted Nov 30, 2023Hey there, I tried setting this up for first spawning into the server players will spawn at the designated spawnpoint, but not on relogging. I assumed /aspawn setfirstspawn would do this, but it isn't working for me. Is there a way to do this, or do I need another plugin?
-
View User Profile
-
Send Message
Posted Aug 15, 2026In reply to Nufs:
fixed on newest versions
-
View User Profile
-
Send Message
Posted Sep 3, 2023Hey, Can you add that they need to wait when they do /spawn but if they move it will cancel?
-
View User Profile
-
Send Message
Posted Sep 4, 2023In reply to verixy_mc:
It is already implemented, make sure you have cooldown > 0 :
-
View User Profile
-
Send Message
Posted May 18, 2023How can you turn off spawning at spawn when leaving and joining the server?
-
View User Profile
-
Send Message
Posted Jun 5, 2023In reply to racoon554636:
check your config.yml then change:
spawn-onJoin: false
-
View User Profile
-
Send Message
Posted Dec 29, 2022Hey, can I create more spawns?
I got 2 Multiverse worlds and I want for each of them a spawn. But no matter in which world I make /spawn I always go the one spawnpoint. How can I make two spawnpoints for two worlds?
-
View User Profile
-
Send Message
Posted Jun 5, 2023In reply to saengerjakob:
Edit: Well, i would need to implement a hook for Multiverse-Core, at this moment i will launch v2.5 soon, so u will need to wait until next updates...
-
View User Profile
-
Send Message
Posted Nov 16, 2022Customizable messages... But how about disable-able messages? I want to disable spawn messages but can't
-
View User Profile
-
Send Message
Posted Nov 16, 2022In reply to LYNRAY_X:
Disable-able messages!
If you don't want messages being send to the console/player then u must change any message to '' without any space...
Example (In messages.yml):
spawn-teleporting: '&6Teleporting...'
spawn-teleporting: ''
-
View User Profile
-
Send Message
Posted Nov 17, 2022In reply to iLirosq:
Yes. And somehow зlugin prevents using /kill, it is just teleporting player at spawn
-
View User Profile
-
Send Message
Posted Aug 18, 2023In reply to LYNRAY_Y:
This issue was fixed in v2.5!