Having a way to show off your server to new players is extremely important to every server owner. ServerTours allows you to do this in a very interactive way. Instead of making your players watch a server trailer, ServerTours works in-game.
ServerTours requires ProtocolLib.
What can you achieve with ServerTours?
Made by 68B (Note: ServerTours does not include the NPC system):
Made by Nickz:
Feature demos
These are slightly outdated, updated versions coming soon
- Simple but very powerful tour editor
- Built with performance in mind
- Works across worlds without any problems
- Uses client-sided entities to eliminate server lag
- Visualizes routes in edit mode with particles
- Set commands to run at every point, with different triggers
- Set customizable titles and chat messages at every point
- Multiple types of waypoints (stationary, orbit and interpolate)
- Multiple interpolate modes: ease in-out and linear
- Compatible with 1.13-1.16
- Configure everything!
- Powerful developer API which can be used to integrate with other plugins
/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 / __/ | | | (_) | |_| | | \__ \
# |_____/ \___|_| \_/ \___|_| |_|\___/ \__,_|_| |___/
#
# ServerTours Configuration File
# You can edit general settings below. Looking for customized message? Go to lang.yml.
# If you need any help, be sure to contact the author (MisterMel) on Spigot.
editMode:
# Whether the action bar should be shown while a player is in edit mode.
# Might conflict with other plugins that attempt to display an
# action bar.
# Default value: true
actionBarEnabled: true
# Whether a point should automatically be selected after placing it.
# Default value: false
selectPlacedPoint: false
# If set to true, alternative commands are enabled which perform the
# same actions as the hotbar in edit mode. This is useful if you are
# unable to use the hotbar for whatever reason. This affects:
# /tour createpoint, /tour preview, /tour selectpoint, /tour toggleparticles
#
# NOTE: The server needs to be reloaded/restarted for this setting to
# take effect, /tour reload won't work.
#
# Default value: false
enableHotbarAltCommands: false
# If set to true, warnings will be shown in the chat menu if a route
# point is configured incorrectly.
# Default value: true
enableWarnings: true
particles:
# Whether particles in edit mode should be enabled by default. You can
# still toggle particles, regardless of what this is set to.
# Default value: true
enabledByDefault: true
# Whether particles should be shown for all points, or just the point
# selected. Setting this to false may cause performance issues.
# Default value: false
showSelectedOnly: false
playMode:
# Whether the action bar should be shown while a player is viewing a
# tour. Might conflict with other plugins that attempt to display an
# action bar.
# Default value: true
actionBarEnabled: true
# Whether to allow the player to exit the tour before it has finished
# (by pressing SHIFT). If set to false, this will also remove the
# instruction from the action bar.
# Default value: true
allowExit: true
# The mode that should be used to continue the tour if a point is set
# to wait for the player to click continue. Available options:
# - CHAT (shows a clickable button in chat)
# - MOUSE (default, player presses the left mouse button)
# Default value: MOUSE
continueButtonMode: 'MOUSE'
# If set to true, spectator mode will be used instead of adventure mode
# for tours. This has the advantage of not showing the crosshair or xp
# bar, but can in certain cases cause issues with chunk loading.
# Default value: false
useSpectator: false
# Whether to use the XP bar as a progress bar, showing how far along in
# the tour you are. Even if disabled, the XP bar will still show due to
# Minecraft limitations. This does not apply if useSpectator is true.
# Default value: true
xpBarProgress: true
# If set to true, all commands are blocked while a tour is playing.
# Default value: false
disableCommands: false
# If set to true, no chat messages will appear while a tour is playing.
# Default value: false
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 seperate it from
# the rest of the chat. Example:
# ------------------------
# This is the description.
# ------------------------
#
# Default value: false
sendDescriptionDashes: false
Spoiler: lang.yml
Code (YAML):
# _____ _______
# / ____| |__ __|
# | (___ ___ _ ____ _____ _ __| | ___ _ _ _ __ ___
# \___ \ / _ \ '__\ \ / / _ \ '__| |/ _ \| | | | '__/ __|
# ____) | __/ | \ V / __/ | | | (_) | |_| | | \__ \
# |_____/ \___|_| \_/ \___|_| |_|\___/ \__,_|_| |___/
#
# ServerTours Message Configuration File
# You can edit the in-game messages below. Looking for general settings? Go to config.yml.
# If you need any help, be sure to contact the author (MisterMel) on Spigot.
chatMenu:
header: 'Editing point '
numSet: '{} set'
none: 'None'
buttons:
preview: '[PREVIEW]'
teleport: '[TELEPORT]'
move: '[MOVE]'
remove: '[REMOVE]'
close: '[CLOSE]'
tooltips:
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.'
pointTypes:
stationary: 'In stationary mode, the camera will stay still at the specified point.'
interpolate: 'In interpolate mode, the camera will slowly move between the specified point and the next point.'
orbit: 'In orbit mode, the camera will rotate around a point at the specified distance, height, and speed.'
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'
units:
second: 's'
degreesPerSecond: '°/s'
degrees: '°'
blocks: ' blocks'
labels:
label: 'Label'
pointType: 'Point Type'
timeVisible: 'Time Visible'
confirmToContinue: 'Confirm to continue'
title: 'Title'
description: 'Description'
commands: 'Commands'
executedBy: 'Executed By'
# Interpolate Mode
interpolateFunction: ' Interpolate Function'
interpolateMode: ' Interpolate Mode'
stationary: 'Stationary'
interpolate: 'Interpolate'
orbit: 'Orbit'
# Orbit Mode
distance: ' Distance'
speed: ' Speed'
startingPoint: ' Starting Point'
heightOffset: ' Height Offset'
instructions:
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.'
interpolateFunctions:
sine: 'Smoothly changes the speed according to the interpolate mode.'
linear: 'Keeps the speed constant throughout the movement.'
interpolateModes:
inOut: 'Ramps up the speed at the beginning and ramps down the speed at the end. This mode gives the smoothest effect.'
in: 'Ramps up the speed at the beginning, stops abruptly at the end.'
out: 'Abruptly starts moving, ramps down the speed at the end.'
continueConfirm:
mouse: 'In order to continue, press the left mouse button.'
button:
text: '[CONTINUE]'
instruction: 'Click to continue the tour'
commands:
errors:
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: '&cRoute {} could not be found'
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!'
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.'
warnings:
interpolateNotSet: '&c[!] &fNo point after this, cannot interpolate'
interpolateWorlds: '&c[!] &fCannot interpolate between different worlds ({} -> {})'
hotbarItems:
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)'
actionBar:
watching: 'WATCHING TOUR'
shiftToExit: 'Press SHIFT to exit'
editing: 'EDIT MODE: '
editingDesc: 'Editing {}'
points:
selectedName: '&bPoint #{}'
unselectedName: 'Point #{}'
selectInventory:
title: 'Route points ({})'
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.
Before contacting me, make sure you're running the latest version of ServerTours and ProtocolLib. Sometimes issues are already fixed in newer versions.
Discord: https://discord.gg/V6W5U6mgTk