diff --git a/docs/Comparison-to-LiteBans.md b/docs/Comparison-to-LiteBans.md index 131d055a8..378331875 100644 --- a/docs/Comparison-to-LiteBans.md +++ b/docs/Comparison-to-LiteBans.md @@ -120,6 +120,8 @@ For offline players, LiteBans's permission checking depends on Vault on single s LibertyBans' exemption feature will never break silently. However, it requires the installation of a supported exemption provider - currently LuckPerms or Vault. Without an exemption provider, the feature is entirely unavailable. +Moreover, LiteBans' exemption does not provide arbitrary levels.[5](#note5) + ### Importing From Other Plugins LibertyBans supports importing from AdvancedBan, BanManager, LiteBans, and vanilla. @@ -130,7 +132,7 @@ LiteBans supports importing from AdvancedBan, BanManager, BungeeAdminTools, MaxB Both plugins enable punishments scoped to certain servers. -However, LiteBans lacks scope categories, or the ability to group servers into a single scope.[5](#note5) +However, LiteBans lacks scope categories, or the ability to group servers into a single scope.[6](#note6) ### Multi-Proxy / Multi-Instance Synchronization @@ -142,11 +144,13 @@ Both LibertyBans and LiteBans provide synchronization across multiple instances, 2: Ruan. "LiteBans 2.5.4 - 2.5.9." SpigotMC Resource Update. https://www.spigotmc.org/resources/litebans.3715/update?update=341296 [↩](#note2ret) -3: Ruan. "[Feature] Spongepowered?". LiteBans Gitlab Issue comment. https://gitlab.com/ruany/LiteBans/-/issues/41#note_324182783 [↩](#note3ret) +3: Ruan. "[Feature] Spongepowered?". LiteBans Gitlab Issue Comment. https://gitlab.com/ruany/LiteBans/-/issues/41#note_324182783 [↩](#note3ret) + +4: Ruan. "LiteBans 2.7.5 (Connection error fix)". SpigotMC Resource Update. https://www.spigotmc.org/resources/litebans.3715/update?update=414133 [↩](#note4ret) -4: Ruan. "LiteBans 2.7.5 (Connection error fix)". SpigotMC Resource Update. https://www.spigotmc.org/resources/litebans.3715/update?update=414133 +5: Ruan. "LiteBans Exempt". LiteBans Gitlab Issue Comment. https://gitlab.com/ruany/LiteBans/-/issues/223 [↩](#note5ret) -5: lewisakura. "Server scope groups". LiteBans Gitlab Issue. https://gitlab.com/ruany/LiteBans/-/issues/452 +6: lewisakura. "Server scope groups". LiteBans Gitlab Issue. https://gitlab.com/ruany/LiteBans/-/issues/452 [↩](#note6ret) ### Disclaimer diff --git a/docs/Plugin-Comparison-Conclusions.md b/docs/Plugin-Comparison-Conclusions.md index 2e9b331c5..1e6ed98b4 100644 --- a/docs/Plugin-Comparison-Conclusions.md +++ b/docs/Plugin-Comparison-Conclusions.md @@ -58,7 +58,7 @@ As a further consequence, it is impossible for us to fully audit LiteBans. We ca There are other reasons not to use LiteBans. Evidence suggests LiteBans does not employ automated testing much, increasing the prevalence of bugs in releases. Moreover, its database schema does not utilize integrity constraints, which can lead to data corruption. Yet because accessing the database is recommended over API use, LiteBans has to keep backwards compatibility with its backwards database, hindering development. -Features that languish on the LiteBans issue tracker will stay incomplete until the author decides to add them. No one else can contribute them or prioritize them. Even if a feature is heavily demanded, only the LiteBans author decides. As of 18 August 2023, the following LiteBans feature requests are fully implemented by LibertyBans: +Features that languish on the LiteBans issue tracker will stay incomplete until the author decides to add them. No one else can contribute them or prioritize them. Even if a feature is heavily demanded, only the LiteBans author decides. As of 11 September 2023, the following LiteBans feature requests are fully implemented by LibertyBans: * [Define scopes in punishment templates](https://gitlab.com/ruany/LiteBans/-/issues/502) * [Extend punishment duration](https://gitlab.com/ruany/LiteBans/-/issues/494) * [Purge a punishment completely](https://gitlab.com/ruany/LiteBans/-/issues/494) (same link) diff --git a/docs/Quick-Plugin-Comparison.md b/docs/Quick-Plugin-Comparison.md index 361307a0e..fefed6e78 100644 --- a/docs/Quick-Plugin-Comparison.md +++ b/docs/Quick-Plugin-Comparison.md @@ -16,13 +16,13 @@ comparisons. You can find these on the sidebar at the right. For each plugin her [GPL]:https://www.gnu.org/graphics/gplv3-127x51.png [CC-BY-NC]:http://mirrors.creativecommons.org/presskit/buttons/88x31/png/by-nc.png -| Plugin | Supported Platforms | Java Req. | Free (Gratis) | Open License | Debuggable, Modifiable | Databases Available | Thread-Safe Design | Stable API | Geyser Support | Multi-Instance Support | Connection Pool | Exemption | Server Scopes | Uses UUIDs | Schema Integrity | Switch Storage Backends | Import From | -|-------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------|---------------|-----------------|------------------------|--------------------------------------------|--------------------|------------|----------------|------------------------|-----------------|-----------|---------------|------------|------------------|-------------------------|--------------------------------------------------------------------------------------------------------------------------------| -| LibertyBans | ![Bukkit]Bukkit
Bungee
Sponge Velocity | 17+ | ✔️ | ✔️ ![AGPL] | ✔️ | HSQLDB (local), MariaDB, MySQL, PostgreSQL | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | AdvancedBan
BanManager
LiteBans
vanilla | -| AdvancedBan | ![Bukkit]Bukkit
Bungee | 8+ | ✔️ | ✔️ ![GPL] | ✔️ | HSQLDB (local), MariaDB, MySQL | ❌ | ❌ | ❓ | ❌ | ❌ | ✔️ | ❌ | ➖️ | ❌ | ❌ | | -| BanManager | ![Bukkit]Bukkit
Bungee
Sponge | 8+ | ✔️ | ➖️️ ![CC-BY-NC] | ✔️ | H2 (local), MariaDB, MySQL | ❌️ | ❌ | ➖️️ | ✔️ | ✔️ | ❌ | ➖️ | ✔️ | ✔️ | ➖️ | AdvancedBan
vanilla | -| LiteBans | ![Bukkit]Bukkit
Bungee
Velocity | 8+ | ❌ | ❌ Proprietary | ❌ Obfuscated | H2 (local), MariaDB, MySQL, PostgreSQL | ❓ | ➖️ | ➖️️ | ✔️ | ❓ | ✔️ | ➖️ | ✔️ | ❌ | ✔️ | AdvancedBan
BanHammer**
BanManager
BungeeAdminTools**
LibertyBans ➖️
MaxBans**
UltraBans**
vanilla | -| vanilla | ![Bukkit]Bukkit
Sponge | 8+ | ✔️ | ❌ Proprietary | NA | Flatfile | ✔️ | ✔️ | ✔️ | ❌ | NA | ❌ | ❌ | ✔️ | ❌ | NA | | +| Plugin | Supported Platforms | Java Req. | Free (Gratis) | Open License | Databases Available | Thread-Safe Design | Stable API | Geyser Support | Multi-Instance Support | Connection Pool | Exemption | Server Scopes | Layouts / Templates | Uses UUIDs | Schema Integrity | Switch Storage Backends | Import From | +|-------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------|---------------|----------------------------|--------------------------------------------|--------------------|------------|----------------|------------------------|-----------------|-----------|---------------|---------------------|------------|------------------|-------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------| +| LibertyBans | ![Bukkit]Bukkit
Bungee
Sponge Velocity | 17+ | ✔️ | ✔️ ![AGPL] | HSQLDB (local), MariaDB, MySQL, PostgreSQL | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | AdvancedBan
BanManager
LiteBans
vanilla | +| AdvancedBan | ![Bukkit]Bukkit
Bungee | 8+ | ✔️ | ✔️ ![GPL] | HSQLDB (local), MariaDB, MySQL | ❌️ | ❌️ | ❓ | ❌️ | ❌️ | ✔️ | ❌️ | ✔️ | ➖️ | ❌️ | ❌️ | | +| BanManager | ![Bukkit]Bukkit
Bungee
Sponge | 8+ | ✔️ | ➖️️ ![CC-BY-NC] | H2 (local), MariaDB, MySQL | ❌️️ | ❌️ | ➖️️ | ✔️ | ✔️ | ❌️ | ➖️ | ➖️ | ✔️ | ✔️ | ➖️ | AdvancedBan
vanilla | +| LiteBans | ![Bukkit]Bukkit
Bungee
Velocity | 8+ | ❌️ | ❌️ Proprietary, Obfuscated | H2 (local), MariaDB, MySQL, PostgreSQL | ❓ | ➖️ | ➖️️ | ✔️ | ❓ | ➖️ | ➖️ | ✔️ | ✔️ | ❌️ | ✔️ | AdvancedBan
BanManager
LibertyBans➖️
vanilla
*+4 abandoned* | +| vanilla | ![Bukkit]Bukkit
Sponge | NA | ✔️ | ❌️ Proprietary | Flatfile | ✔️ | ✔️ | ✔️ | ❌️ | NA | ❌️ | ❌️ | ❌️️ | ✔️ | ❌️ | NA | | Legend: @@ -30,17 +30,15 @@ Legend: ➖️ – Partially -❌ – No +❌️ – No ❓ - Unknown, either because the plugin is closed-source, or the feature has not been tested. NA - Not applicable -** - This plugin has been abandoned for at least 3 years. - ### Why does LibertyBans check all the boxes? -It didn't used to. This chart was created when LibertyBans didn't have multi-instance support, exemption, server scopes, or switching storage backends. With this exception of switching storage, all these features were listed in the table, but they were unimplemented and unrequested -- with no plans to add them! Back then, LibertyBans used to receive ❌ or ➖️ in many areas. +It didn't used to. This chart was created when LibertyBans didn't have multi-instance support, exemption, server scopes, layouts, or switching storage backends. With this exception of layouts and switching storage, all these features were listed in the table, but they were unimplemented and unrequested -- with no plans to add them! Back then, LibertyBans used to receive ❌️ or ➖️ in many areas. Over time, features were requested and implemented, so LibertyBans fulfills these categories now and receives ✔️. Competitor plugins still have capabilities not found in LibertyBans, but they aren't deemed sufficiently important or central to the purpose of punishment to have a place on the table. @@ -110,12 +108,26 @@ Includes whether the plugin has a connection pool *and* takes advantage of it. AdvancedBan has a connection pool, but in practice, can only use 1 connection at a time, which is effectively the same as not using a connection pool. +### Exemption + +Whether the plugin can prevent lower-ranked staff from banning higher-ups through a system of exemption levels. + +BanManager's *no* ranking: While BanManager has a basic exemption feature without levels, it requires every exempted player to be written out in the BanManager configuration. This is far too inconvenient in many cases, since it requires reconfiguring and reloading BanManager every time staff are promoted. + +LiteBans' *partial* ranking: The plugin does not support arbitrary levels of exemption. + ### Server Scopes This feature is relevant for proxies. Whether the plugin has the ability to define "scopes" and create punishments applying to certain scopes. This allows server administrators to create punishments applying to a specific backend server or a group of backend servers. BanManager's and LiteBan's *partial* ranking: BanManager has the ability to create a "local" punishment, meaning it applies to one backend server. However, it does not have the ability to define punishments applying to a group of backend servers; further, local punishments cannot be created from separate servers. LiteBans has server scopes, but similarly, it cannot create scopes applying to a group of servers. +### Layouts / Templates + +Whether the plugin can automatically fill in details such as the reason and time, including based on the past history of the punished player. + +BanManager's *partial* ranking: Reason shortcuts are provided; however, automatic time calculation based on past history is not implemented. + ### Uses UUIDs Whether the plugin stores UUIDs instead of player names, for both the targets of punishments and operators of punishments. Player names can change, so they cannot be relied upon. @@ -143,6 +155,8 @@ The other punishment suites this plugin can import from. LiteBans' *partial* ranking with respect to LibertyBans: LiteBans does not import server scopes, although scopes are a common feature between them. +Moreover, LiteBans can import from 4 abandoned plugins: BanHammer, BungeeAdminTools, MaxBans, and UltraBans. These plugins have received no codebase updates for at least 3 years. + -------------------------------------------------------------------------- As a closing note, this information is kept up-to-date within a reasonable timeframe. We welcome PRs from those affiliated with other plugins to update this information when necessary.