# Initial Configuration

# Type of Installation

Before proceeding, it's important to not

There are two types of installation:

  • Spigot standalone - You only have one Spigot server
  • BungeeCord network - You have a BungeeCord network with multiple Spigot servers

With that in mind, let's get started.


If you're using Velocity instead of BungeeCord, you can follow the same configuration that's described for BungeeCord.
However, there are some limitations with Velocity that you should be aware, so take a look at the Velocity Guide before continuing!

Before proceeding, if you've chosen the BungeeCord network approach, you must enable bungeecord on Triton's config.yml for every Spigot server.

bungeecord: true

# Storage type

Triton currently supports local (JSON) storage and MySQL storage. MongoDB support is in the works, but it's not supported at the moment.

If you want to use local storage, you don't need the make any changes, it's good to go out of the box.

However, if you want to use non-local storage, you have to change the storage type and fill in the information accordingly.


# This section controls the storage location of player data and translations.
# If using a database, the tables/collections will be created automatically for you.
# You can use '/triton database upload' to upload the local translations to a remote storage.
# This MUST match what is on BungeeCord
  # Valid options: 'local', 'mysql', 'mongodb'
  type: 'local'
  # This should match the name of this server in BungeeCord's config.yml
  # Used to filter translations for this server only
  server-name: 'lobby'
  # The options below this are for non-local storage only
  host: 'localhost'
  port: 3306
  database: 'triton'
  username: 'root'
  password: ''
  table-prefix: 'triton_'


The server-name variable is only loaded when using non-local storage types and it's used to filter translations that have entries in the server field.
If you're using a server template system, it might not be possible to set this. Leaving this empty will work correctly as long as you don't want to filter translations by server.


If you're using the BungeeCord network approach, you must use the same storage configuration on all servers, including on BungeeCord itself. If you fail to do that, translations might not be loaded correctly.


If you're using MySQL storage with BungeeCord (or a proxy), you MUST have the same configuration for languages on Triton's config on all servers and on the proxy. If you don't do this, translations will not be synced correctly between servers.

# Languages

Adding languages to the plugin is pretty straightforward. All you have to do is add/modify a section within the languages sections on config.yml.

To get a flag code, follow the guide on generating flag codes.

Details about every variable below can be found in the config page.

# This will be ignored if 'bungeecord' is enabled.
  # The language name. This will influence the language key in the translation files.
  # It's recommended to follow this syntax: xx_XX
  # It's also not recommended to change this after someone has joined your server,
  # as their language will reset to default.
    # This is the encoded flag code to show up the banner.
    # To get a working code, you should visit https://www.needcoolshoes.com/banner and create your banner.
    # When you finish, you should notice that the link as changed. Just copy the code generated by it.
    # i.e. If the link is https://www.needcoolshoes.com/banner?=eapwplpnpmbzbj then the code will be eapwplpnpmbzbj
    flag: eapwplpnpmbzbj
    # The Minecraft code is the Minecraft language code. You can find a complete list here:
    # https://minecraft.gamepedia.com/Language
    minecraft-code: [en_GB]
    # This display name. This will be the language name in non-code version. For example, en_UK should be English (UK)
    # Feel free to use colours here!
    display-name: '&aEnglish (UK)'
    # Use this to run commands on language change.
    # The commands must not start with a slash.
    # Prefix with the desired type. Available types: 'PLAYER', 'SERVER'
    # i. e. "PLAYER:say I'm using English now!"
    # Please uncomment the lines below to start using this feature.
    # Available variables:
    # %player% - Replaced with the player's name.
    # %uuid% - Replaced with the player's UUID (with dashes).
  #  commands:
  #      - 'SERVER:say %player% (%uuid%) has just changed their language!'
    flag: bacLlt
    minecraft-code: [pt_PT]
    display-name: '&aPortuguese (Portugal)'
  #  commands:
  #    - 'SERVER:say %player% (%uuid%) has just changed their language!'


If you're using the BungeeCord network approach with local storage, you only need to configure the languages on the BungeeCord server.

# Translations

The best way to add and edit translations easily is using TWIN. To use it, you must first get a TWIN token.

To get the token, you can either join our Discord server (opens new window) or DM me (Rexcantor64 (opens new window)) on Spigot.

# To access TWIN, you need a special token.
twin-token: ''


If you're using the BungeeCord network approach, you don't need to put the token in any Spigot server.

After getting access to TWIN, follow the translating your first message guide.