Migrating from Triton v2 to v3
Before proceeding, make sure to backup your Triton
folder on all servers
in case something goes wrong during the migration!
Changelogβ
Below are the changes that require your attention:
- MySQL support for translations (π₯ Breaking Change)
- Better debugging tools (
debug
has been replaced withlog-level
) - Removed
universal
field for translations since it was redundant - Add feature that prevents players from typing placeholders in the chat (enabled by default)
players.yml
has been renamed toplayers.json
and it's now not used when using a non-local storage typecache.json
has changed syntaxmessages.yml
content has changed and it now has a blueish theme/triton setlanguage
for others has changed format (arguments have swapped)- Removed scoreboard translation
- Removed all
multilanguageplugin.*
permissions
All other changes in this version can be found on Spigot or Polymart.
Downloading the new versionβ
Follow the instructions in the installation guide.
Updating config filesβ
The config files have changed substantially.
I'd recommend updating them before proceeding with the migration guide.
Below is a copy of the default config for both Spigot and BungeeCord,
with the changes highlighted.
Spigot config.yml
Bungee config.yml
Storage optionsβ
This is the most important change that you must perform before proceeding. Make sure to read the initial configuration guide if you're unsure how to configure it.
The database
section has been renamed to storage
.
The guide linked above will help you go through the configuration.
Automatic Migrationβ
Just like every major release of Triton until now, this version includes auto migration.
Due to the lack of major changes in the file format, Triton might have a hard time identifying that there is a need for migration.
Triton starts the migration if it finds the players.yml
file but it doesn't find the players.json
file. This is important if you want to manually trigger the migration.
It is extremely important that you do not run the migration more than once,
otherwise it might break your translations.
This is what the auto migration does:
- Convert your
players.yml
toplayers.json
- Convert
cache.json
(if it exists) to the new format - Replace all entries of
universal: true
in translations withblacklist: true
andservers: []
.
Upload local translation to a databaseβ
If you're using a database (e.g. MySQL), you must learn two new commands:
/triton database upload
and /triton database download
.
They are two very destructive commands, so make sure you're the
only one that has permissions (triton.database
) to use them.
After starting your server and making sure all servers share the same storage settings,
you must run /triton database upload
to copy all the translations from the translations
folder to the database.
As I said, these commands are very destructive.
Running /triton database upload
will delete ALL TRANSLATIONS that are in the database already.
Editing translations without TWINβ
If you're using a database, editing the translations directly might be cumbersome.
Instead, you can use /triton database download
to download the translations from the database
into the translations
folder.
Then you can simply edit them as you'd like and upload with /triton database upload
as before.
Just like the upload command, /triton database download
can be very destructive.
When executed, all .json
files in the translations
folder are deleted and replaced
with the translations from the database.
Changes to messages.yml
β
The messages.yml
file has updated translations and a new blueish color theme.
You can find the diff on GitHub.
Changes to /triton setlanguage
β
This command previously was used as /triton setlanguage [player] <language>
.
Now, as it should have been from the beginning, the new format is /triton setlanguage <language> [player]
.
If you're using this command on menus or something similar, please swap the arguments.
Removal of scoreboard translationβ
Scoreboard translation using Triton placeholders was deprecated since v2.5.1.
It has now been removed from the plugin completely.
Reasons for removal include poor and laggy implementation and visual glitches.
As an alternative (and recommended), use PlaceholderAPI from now on.
After Migration πβ
Congrats, you've made it!
You should now be running Triton v3.0.0!
If you've encountered any issue during the migration process, please ask for help in our Discord server.
Below are some resources that might be useful: