Skip to content

Commit c6831f4

Browse files
committed
0.102.0.4:
- UUID Database Update! - READ CAREFULLY, THIS UPDATE HAS CHANGES THAT CANNOT BE REVERSED EASILY. - Since Minecraft added UUIDs to players there has always been the idea of changing Towny over to using UUIDs as the main key in our database, but due to database instability this was not something that was considered a smart change. Database stability was majorly improved years ago however and starting in 2022 and 2023 I (LlmDl,) had pull requests on deck exploring/planning what a UUID-based database would look like for Towny. In the middle-to-late 2025 Warrior decided to revive the UUID database concept, breaking things into bite-sized pull requests that made the concept easier to review and merge. Those pull requests are as follows: - Load UUIDs for residents, towns & nations early, courtesy of Warrior with PR #7945. - Replace references to names with UUIDs in the database, courtesy of Warrior with PR #7962. - Clean up town/nation/resident renaming logic, courtesy of Warrior with PR #7963. - Use UUIDs for town/nation/resident file names in flatfile, courtesy of Warrior with PR #8023. Thanks to Warrior's efforts the UUID database has become a reality! - What this means for Towny server admins: - The database no longer saves using resident, town and nation names. Instead you will see UUID-named .txt files in the resident, town and nation folders, and UUIDs in the lists of friends, enemies and allies. - Once you updated to this version your database will be converted and there is no going back. Towny will create backups of your pre-UUID database if you have backups enabled in the Towny config.yml and you are using Towny in flatfile! - If your Towny database is stored in MYSQL you need to make your own backup! Towny doesn't back up MYSQL databases! - Benefits: - Your Towny database just got more error-proof. - Renaming of residents, towns, nations should no longer be prone to edge-case scenarios that could cause issues. - Server hosts which don't allow some unicode characters in the server file system's filenames will no longer fail to save/load towns and nations with special (usually accented,) characters. - If you change hosts and your future-host does not allow the above unicode characters to be used in the filesystem, your server will not immediately fail to load! - The main issue with Towny databases over the last few years was typically towns/nations being named with characters that server hosting would not allow in the filesystem, this database update will make this issue non-existant, which is why the benefits of this update outweigh the cons. - Cons: - The database's residents/towns/nations are no longer saved with their names. This makes editing your database manually trickier. - To help this out the residents' files will now contain their town's last-known name, the towns' files will contain their nation's and mayor's last-known name. All residents, towns and nations files will contain their last-known name in their files. - Ultimately, the benefits have outweighed the cons, stability has been good for Towny databases for 5+ years, and it is time to make this change in order to reduce the complexity of the codebase and to improve how Towny runs on varied server hosts.
1 parent 2f186cc commit c6831f4

File tree

2 files changed

+37
-2
lines changed

2 files changed

+37
-2
lines changed

Towny/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
<artifactId>towny</artifactId>
1515
<packaging>jar</packaging>
16-
<version>0.102.0.3</version>
16+
<version>0.102.0.4</version>
1717

1818
<licenses>
1919
<license>

Towny/src/main/resources/ChangeLog.txt

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10609,4 +10609,39 @@ v0.92.0.11:
1060910609
- Fix the townyperms group command not working with capitalized groups, courtesy of Warrior with PR #8055.
1061010610
- Add support for enabling conquering on a town via townyadmin command.
1061110611
- Check the chunk is still wilderness after confirmation in /town new, courtesy of Veyronity with PR #8059. (First-Time Contributor!)
10612-
- Add null checks to the task schedulers, courtesy of Warrior with PR #8060.
10612+
- Add null checks to the task schedulers, courtesy of Warrior with PR #8060.
10613+
0.102.0.4:
10614+
- UUID Database Update!
10615+
- READ CAREFULLY, THIS UPDATE HAS CHANGES THAT CANNOT BE REVERSED EASILY.
10616+
- Since Minecraft added UUIDs to players there has always been the idea of changing Towny over to using UUIDs as the main key in our database,
10617+
but due to database instability this was not something that was considered a smart change. Database stability was majorly improved years ago
10618+
however and starting in 2022 and 2023 I (LlmDl,) had pull requests on deck exploring/planning what a UUID-based database would look like for
10619+
Towny. In the middle-to-late 2025 Warrior decided to revive the UUID database concept, breaking things into bite-sized pull requests that
10620+
made the concept easier to review and merge. Those pull requests are as follows:
10621+
- Load UUIDs for residents, towns & nations early, courtesy of Warrior with PR #7945.
10622+
- Replace references to names with UUIDs in the database, courtesy of Warrior with PR #7962.
10623+
- Clean up town/nation/resident renaming logic, courtesy of Warrior with PR #7963.
10624+
- Use UUIDs for town/nation/resident file names in flatfile, courtesy of Warrior with PR #8023.
10625+
Thanks to Warrior's efforts the UUID database has become a reality!
10626+
- What this means for Towny server admins:
10627+
- The database no longer saves using resident, town and nation names. Instead you will see UUID-named .txt files in the resident, town and
10628+
nation folders, and UUIDs in the lists of friends, enemies and allies.
10629+
- Once you updated to this version your database will be converted and there is no going back. Towny will create backups of your pre-UUID
10630+
database if you have backups enabled in the Towny config.yml and you are using Towny in flatfile!
10631+
- If your Towny database is stored in MYSQL you need to make your own backup! Towny doesn't back up MYSQL databases!
10632+
- Benefits:
10633+
- Your Towny database just got more error-proof.
10634+
- Renaming of residents, towns, nations should no longer be prone to edge-case scenarios that could cause issues.
10635+
- Server hosts which don't allow some unicode characters in the server file system's filenames will no longer fail to save/load towns and
10636+
nations with special (usually accented,) characters.
10637+
- If you change hosts and your future-host does not allow the above unicode characters to be used in the filesystem, your server will not
10638+
immediately fail to load!
10639+
- The main issue with Towny databases over the last few years was typically towns/nations being named with characters that server hosting
10640+
would not allow in the filesystem, this database update will make this issue non-existant, which is why the benefits of this update
10641+
outweigh the cons.
10642+
- Cons:
10643+
- The database's residents/towns/nations are no longer saved with their names. This makes editing your database manually trickier.
10644+
- To help this out the residents' files will now contain their town's last-known name, the towns' files will contain their nation's and
10645+
mayor's last-known name. All residents, towns and nations files will contain their last-known name in their files.
10646+
- Ultimately, the benefits have outweighed the cons, stability has been good for Towny databases for 5+ years, and it is time to make this
10647+
change in order to reduce the complexity of the codebase and to improve how Towny runs on varied server hosts.

0 commit comments

Comments
 (0)