Have you ever wanted to make a cool tutorial for players that doesn't use boring signs? Now you can make one!


NOW 1.8 COMPATIBLE This is the ultimate tutorial plugin for Bukkit. It allows easy creation of 'views' which the player sees after typing /tutorial.


  • Easy tutorial creation
  • Unlimited tutorials, unlimited scenes per tutorial
  • Two types of tutorials (CLICK/TIME)
  • Two types of view (META/TEXT)
  • Show a player a tutorial when they first join your server
  • 100% configurable
  • Easy to set up and use
  • Give your players a tutorial that isn't boring
  • Versatile - Use it for a play, or a plugin tutorial, or a welcome tutorial, or anything you can think of.
  • Lightweight


/tutorialList tutorials
/tutorial helpHelp page
/tutorial <name>Puts you in the tutorial
/tutorial create <name>Create a new tutorial
/tutorial addview <name>Add a view to a tutorial
/tutorial remove <name>Removes a tutorial
/tutorial remove <name> <view number>Removes a tutorial view


tutorial.createUse /tutorial create <name>Creating a tutorial
tutorial.useUse /tutorial <name>Allows a player to use any tutorial
tutorial.tutorial.<name>Use /tutorial <name>Allows a player to use a specific tutorial
tutorial.removeUse /tutorial remove <name>Remove a tutorial

Tutorial types

Tutorial TypeDescription
CLICKRight click an item to go to the next view
TIMEAutomatically go to the next view after a customizable amount of time

View types

View TypeDescription
METAShow message in item metadata, center middle
TEXTShow message as a simple chat text


  • To make a sign, the top line must be [Tutorial] (changeable in the config), then the second line must be the name of the tutorial.
  • To make a tutorial start when a player first joins the server, edit the appropriate fields in the config.

We also include an update checker. It will download the latest updates for you. If you'd like to disable it, go into /plugins/ServerTutorial/config.yml

Coming Soon

  • Support for 1.8 Titles
  • Support for ActionBar titles (will replace Meta)

Bugs? Suggestions?

Leave feedback in the comments or file a ticket if there are any bugs!

Github Repo


IRC Channel

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of dwa1275 dwa1275 Jul 24, 2016 at 02:45 UTC - 0 likes

    plugins works, but need updates for 1.10. tutorial signs do not work, changing anything in the config resets the tut, time view seems choppy in text

  • Avatar of LOOHP LOOHP May 04, 2016 at 23:38 UTC - 0 likes

    1.9 plz

  • Avatar of JohOply JohOply Mar 06, 2016 at 14:49 UTC - 0 likes

    @hawkfalcon: Go

    Yeah, very cool :)

    Thanks! Land Of Craft
  • Avatar of hawkfalcon hawkfalcon Mar 05, 2016 at 22:28 UTC - 1 like

    Will be re-writing this plugin when 1.9 gets a bit more stable. Will also port to Sponge.


  • Avatar of ProjectHyrule ProjectHyrule Jul 14, 2015 at 00:33 UTC - 0 likes

    Several users have been reporting to me that after entering a tutorial, sometimes their entire inventory gets cleared.

    Happening on 1.8.7-r0.1 spigot and your latest version of servertutorial. Theres no stacktrace or any kind of error when it happens. It seems to be happening if two people are using the tutorials at the same time though.

    Our tutorials are all running on a Time setting and use Text.

  • Avatar of MSandro MSandro Jul 07, 2015 at 06:32 UTC - 0 likes

    @XsKiqsX: Go

    I also have this problem! I use Cauldron 1.7.10

  • Avatar of FilthyPorty FilthyPorty Jul 06, 2015 at 15:38 UTC - 0 likes

    Can you add the support for the /title function of 1.8? I need it so bad.

    You can just add this to the dependencies

    Last edited Jul 07, 2015 by FilthyPorty
  • Avatar of SilverfishCreations SilverfishCreations May 20, 2015 at 15:44 UTC - 0 likes

    After restarting my server, I joined the tutorial and there is an error, I cant move, the console is spammed with errors and it wont stop until i go in ESC and leave the game. Using latest Spigot 1.8.4. Another Bug is that always the last added view wont load, if I add another one, that one befor gets loaded.

    Here is the Error: [17:41:09 ERROR]: Could not pass event PlayerMoveEvent to ServerTutorial v2.0.0 org.bukkit.event.EventException at$1.execute( [craftbukkit.jar:git-Spigot-5818108-db5fd9c] at org.bukkit.plugin.RegisteredListener.callEvent( [craftbukkit.jar:git-Spigot-5818108-db5fd9c] at org.bukkit.plugin.SimplePluginManager.fireEvent( [craftbukkit.jar:git-Spigot-5818108-db5fd9c] at org.bukkit.plugin.SimplePluginManager.callEvent( [craftbukkit.jar:git-Spigot-5818108-db5fd9c] at net.minecraft.server.v1_8_R3.PlayerConnection.a( [craftbukkit.jar:git-Spigot-5818108-db5fd9c] at net.minecraft.server.v1_8_R3.PacketPlayInFlying.a(SourceFile:126) [craftbukkit.jar:git-Spigot-5818108-db5fd9c] at net.minecraft.server.v1_8_R3.PacketPlayInFlying.a(SourceFile:8) [craftbukkit.jar:git-Spigot-5818108-db5fd9c] at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$ [craftbukkit.jar:git-Spigot-5818108-db5fd9c] at java.util.concurrent.Executors$ [?:1.7.0_71] at [?:1.7.0_71] at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:60) [craftbukkit.jar:git-Spigot-5818108-db5fd9c] at net.minecraft.server.v1_8_R3.MinecraftServer.B( [craftbukkit.jar:git-Spigot-5818108-db5fd9c] at net.minecraft.server.v1_8_R3.DedicatedServer.B( [craftbukkit.jar:git-Spigot-5818108-db5fd9c] at net.minecraft.server.v1_8_R3.MinecraftServer.A( [craftbukkit.jar:git-Spigot-5818108-db5fd9c] at [craftbukkit.jar:git-Spigot-5818108-db5fd9c] at [?:1.7.0_71] Caused by: java.lang.NullPointerException at org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer.teleport( [craftbukkit.jar:git-Spigot-5818108-db5fd9c] at org.bukkit.craftbukkit.v1_8_R3.entity.CraftEntity.teleport( [craftbukkit.jar:git-Spigot-5818108-db5fd9c] at pw.hwk.tutorial.TutorialListener.onMove( [?:?] at sun.reflect.GeneratedMethodAccessor99.invoke(Unknown Source) [?:?] at sun.reflect.DelegatingMethodAccessorImpl.invoke( [?:1.7.0_71] at java.lang.reflect.Method.invoke( [?:1.7.0_71] at$1.execute( [craftbukkit.jar:git-Spigot-5818108-db5fd9c] ... 15 more [17:41:09 INFO]: DeWil lost connection: TextComponent{text='Disconnected', siblings=[], style=Style{hasParent=false, color=null, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}}

  • Avatar of Maccaronne Maccaronne Mar 25, 2015 at 04:11 UTC - 0 likes

    @hawkfalcon: Go

    Is there going to be an interactive function?

    For example, a player won't be able to move until he types in the required command. Everytime he tries to move, a command will be fired from the console. (And/Or title message will be displayed. The command can do this anyway.)

    An interactive tutorial would be a lot less bored than being teleported around.

    Thank you in advance :D

  • Avatar of Trojaner_ Trojaner_ Mar 21, 2015 at 19:54 UTC - 0 likes

    @XsKiqsX: Go

    Please post the stackstrace (the whole error message) from console please. If you don't know what that is, just post the log of the server...

    Last edited Mar 21, 2015 by Trojaner_


Date created
Nov 16, 2013
Last update
Mar 10, 2015
Development stage
GNU General Public License version 3 (GPLv3)
Curse link
Recent files