⚡ ServerTours » Easily create cinematics!

GOLD ⚡ ServerTours » Easily create cinematics! 2.0.12

No permission to download

Looking for a way to easily create in-game cinematics for your server? ServerTours is the answer!

What can I use this for?
Tired of boring signs and holograms? Show new players an introductory tour around your server instead! ServerTours is much more engaging than other methods.

For more advanced users, ServerTours also offers an advanced developer API (see below). This can be used to integrate with other plugins and provide a truely dynamic experience.



  • Powerful cinematic editor that anyone can learn in minutes
  • Built with performance in mind
  • Editor visualizes routes with particles: what you see is what you get!
  • Set titles & text to display at every point
  • Set commands to run at different points in the tour
  • Multiple types of tour waypoints (stationary, orbit, and interpolate)
  • Compatible with Minecraft 1.17.x, 1.18.x, and 1.19.x
  • Configure everything!
  • Comprehensive developer API which can be used to integrate with other plugins
  • PlaceholderAPI integration
  • %servertours_route% - Shows the route currently being played
  • %servertours_point% - Shows the route point you're at
  • %servertours_numpoints% - Shows the total number of points this route has
  • %servertours_percent% - Shows what percentage of the route you've completed

ServerTours requires ProtocolLib to run.


/tour create <Name>
Creates a new tour route - servertours.commands.create

/tour remove <Name>
Removes a tour route - servertours.commands.remove

/tour edit <Name>
Enters edit mode for the specified tour route - servertours.commands.edit

/tour exit
Exits edit mode - servertours.commands.edit

/tour reload
Reloads the config.yml and lang.yml files - servertours.commands.reload

/tour play <Name>
Shows you the specified tour route - servertours.commands.play (Granted to everyone by default)

/tour play <Name> [Player]
Shows the specified player the tour route - servertours.commands.play.other


Spoiler: config.yml
Code (YAML):

# ___ _____
# / __| ___ _ ___ _____ _ |_ _|__ _ _ _ _ ___
# \__ \/ -_) '_\ V / -_) '_|| |/ _ \ || | '_(_-<
# |___/\___|_| \_/\___|_| |_|\___/\_,_|_| /__/

# If set to true, players will be shown a persistent action bar
# notification while in edit mode. May conflict with other plugins
# that use the action bar.
actionBarEnabled: true

# If set to true, route points will automatically be selected after
# being placed.
selectPlacedPoint: false

# Route points may show warnings in chat when they are unable to
# function correctly (for example, interpolate points which don't
# have a point after them). Set to false to disable this behaviour.
enableWarnings: true

# Controls the particles shown in edit mode, which show you the
# path the player will take. This is shown for interpolate and orbit
# points.
# If set to true, particles are enabled by default. They can be
# toggled via the hotbar item.
enabledByDefault: true

# If set to true, only the path of the selected point will be
# shown. Otherwise, the path of the entire tour is shown.
showSelectedOnly: false

# ADVANCED: if set to true, alternative commands are enabled which
# perform the same functions as the hotbar items. This is useful if
# you can't use the hotbar for whatever reason (e.g. a plugin conflict).
# The server needs to be restarted/reloaded for this setting to take
# effect.
enableHotbarAltCommands: false

# If set to true, players will be shown a persistent action bar
# notification while viewing a tour. May conflict with other plugins
# that use the action bar.
actionBarEnabled: true

# If set to true, players are allowed to exit the tour while it is
# still in progress by pressing SHIFT.
allowExit: true

# If set to true, the gamemode of touring players is set to spectator
# instead of adventure (the default). The differences between these
# are as follows:
# - Spectator mode doesn't show the crosshair or hotbar. However, the
# progress bar feature will no longer work.
# - Spectator mode shows all invisible entities. This means you will
# see, for example, the entities used by your holograms plugin.
# ServerTours itself also uses an invisible entity, which might show
# up if the player is looking down in the tour route.
# - Spectator mode isn't available on Bedrock edition.
useSpectator: false

# If set to true, the experience bar will be used to display how far
# along the tour route the player is. This doesn't work if 'useSpectator'
# is enabled.
xpBarProgress: true

# If set to true, players viewing a tour are unable to execute any
# commands.
disableCommands: false

# If set to true, players viewing a tour won't be able to see chat
# messages from other players. They also won't be able to send
# chat messages.
disableChat: false

# If set to true, dashes will be added before and after the description
# in the chat during a tour in order to clearly separate it from
# the rest of the chat. Example:
# ------------------------
# This is the description.
# ------------------------
sendDescriptionDashes: false

Spoiler: lang.yml
Code (YAML):

# ___ _____
# / __| ___ _ ___ _____ _ |_ _|__ _ _ _ _ ___
# \__ \/ -_) '_\ V / -_) '_|| |/ _ \ || | '_(_-<
# |___/\___|_| \_/\___|_| |_|\___/\_,_|_| /__/

header: 'Editing point '
numSet: '{} set'
none: 'None'

preview: '[PREVIEW]'
teleport: '[TELEPORT]'
move: '[MOVE]'
remove: '[REMOVE]'
close: '[CLOSE]'

playerExecutor: 'Command will be run as if the player executed it themselves.'
consoleExecutor: 'Command will be run as if it was executed from the console.'

enter: 'Command will be run when the player reaches this point'
exit: 'Command will be run when the player moves to the next point'
quit: 'Command will be run if the player exits the tour at this point'

stationary: 'Makes the camera stay still at this point for some time.'
interpolate: 'Moves the camera smoothly between this point and the next at the specified speed.'
orbit: 'Rotates the camera around this point while facing it.'

mouse: 'Requires the player to press the left mouse button'
keyboard: 'Requires the player to press F'
chat: 'Requires the player to click a button in the chat'

preview: 'Previews the tour route, starting from this point'
teleport: 'Teleports you to this point'
move: 'Teleport this points to you'
remove: 'Removes this point'
close: 'Closes the chat menu'

setString: 'Click to set value'
clearString: 'Click to clear value'
changeString: 'Click to change value'

alreadySelected: 'Already selected'
select: 'Click to select'

enable: 'Click to enable'
disable: 'Click to disable'

second: 's'
degreesPerSecond: '°/s'
degrees: '°'
blocks: ' blocks'

label: 'Label'
pointType: 'Point Type'
timeVisible: 'Time Visible'
confirmToContinue: 'Confirm to continue'
confirmMode: ' Mode'
title: 'Title'
description: 'Description'
commands: 'Commands'
executedBy: 'Executed By'
triggeredBy: 'Triggered by'

# Orbit Mode
distance: ' Distance'
speed: ' Speed'
startingPoint: ' Starting Point'
heightOffset: ' Height Offset'

label: 'Functions like a name for this route point, used to easily identify it. This is only used in edit mode and is not shown to touring players.'
confirmToContinue: 'If checked, the user will need to press the continue button to go to the next point.'
title: 'Shows a title to the player when they reach this point. Use \n to add a second line (subtitle).'
description: 'This text will be shown in the chat to the player when they reach this point. Use \n to add multiple lines.'
addCommand: 'Click to add a command, which will be executed once a player finishes viewing this route point. You can use %player% as a placeholder for the player name.'

mouse: 'In order to continue, press the left mouse button.'
keyboard: 'In order to continue, press F.'
text: '[CONTINUE]'
instruction: 'Click to continue the tour'

playerOnly: '&cThis command can only be used by players'
noPermission: '&cYou do not have permission to use this command &7({})'
unknownSubCommand: '&cUnknown subcommand {}'
invalidNumber: '&c{} is not a number'
usage: '&cUsage: {}'

routeNotFound: '&cThat tour route does not exist. Use /tour create {} to create it.'
pointNotFound: '&cPoint #{} not found on route {}'
playerNotFound: '&cPlayer {} not found'

routeAlreadyExists: '&cA route named {} already exists'
alreadyWatching: '&cYou are already watching a tour!'
alreadyWatchingOther: '&c{} is already watching a tour!'
alreadyEditing: '&cYou are already in edit mode!'
alreadyEditingOther: '&c{} is already in edit mode! They must exit edit mode before you can edit this route.'
notWatching: '&cYou are not watching a tour!'
notEditing: '&cYou are not in edit mode!'
notWaiting: '&cYou are not waiting for confirmation'

noPoints: '&cThe route must contain at least one point'
commandsDisabled: '&cYou cannot use commands during the tour'

forcedOut: '&eYou were forced out of edit mode by {}'
forcedOutOther: '&e{} was already editing this route, but was forced out'

routeCreated: '&aRoute created. Switch to edit mode with {}'
routeRemoved: '&aRoute removed.'
particlesEnabled: '&aParticles enabled.'
particlesDisabled: '&cParticles disabled.'
reloaded: '&aConfiguration reloaded.'

interpolateNotSet: '&c[!] &fThere is no next point to interpolate towards'
interpolateWorlds: '&c[!] &fCannot interpolate between different worlds'

createPoint: '&bCreate route point'
previewRoute: '&bPreview route'
pointSelect: '&bSelect route point'
exitEditMode: '&eExit edit mode'
toggleParticlesOn: '&bToggle Particles &a(ON)'
toggleParticlesOff: '&bToggle Particles &c(OFF)'

watching: 'WATCHING TOUR'
shiftToExit: 'Press SHIFT to exit'
editing: 'EDIT MODE: '
editingDesc: 'Editing {}'

selectedName: '&bPoint #{}'
unselectedName: 'Point #{}'

title: 'Route points ({})'
nextPage: 'Next page'
prevPage: 'Previous page'

pointTitle: '&bPoint #{}'
type: 'Type: {}'
world: 'World: {}'
coords: 'X: {} Y: {} Z: {}'


ServerTours offers an easy-to-use Developer API which can be used to integrate other systems into the plugin. You can find the Javadoc here. There are also some basic examples available here.

Spoiler: Gradle (Groovy DSL)
Code (Groovy):
repositories {
maven {
name = "melluh-releases"
url = "https://repo.melluh.com/releases"

dependencies {
compileOnly "com.melluh.servertours:servertours-api:2.0.1"
Spoiler: Gradle (Kotlin DSL)
Code (Kotlin):
repositories {
maven {
name = "melluh-releases"
url = uri("https://repo.melluh.com/releases")

dependencies {
Spoiler: Maven
Code (XML):



Please make sure you're running the latest version of ServerTours and ProtocolLib (however, make sure this is the correct build for your version of Minecraft! More info about this can be found on the ProtocolLib Spigot page). Often issues are already fixed in newer versions.

If you're getting kicked when you click on a route point, try using Waterfall instead of Bungeecord.

Get support via Discord here: https://discord.gg/V6W5U6mgTk
First release
Last update
0.00 star(s) 0 ratings

More resources from MC-PLUGIN

Latest updates

  1. 2.0.12