Szlaban
Szlaban is a multi-functional Minecraft server security plugin. It consists of multiple modules designed to help you secure your server against unauthorised activity. Featuring extensive configuration files, you can tweak the plugin to suit your needs.
Features
- Advanced firewall system – protect your server from undesired network traffic with a highly configurable firewall. Bundled with a sane default configuration, you can expect a moderate level of protection straight out of the box!
- Setup advisories – helps new owners configure sane defaults for their server, while pointing out any suspected configuration issues and offering one-click resolutions for all!
- Highly customisable – the plugin is written with a modular approach at its core, so you only need to enable the modules that you want!
So, what's with the name?
Szlaban (IPA: /ˈʂla.ban/ or SHLA•ban) is a Polish word for a gate or barrier – like the ones used at car park entrances. These have the function of preventing unauthorised vehicles from entering a place, and this plugin serves a similar purpose!
Also, it ends with 'ban', which is pretty funny.
Installation
Szlaban is a PaperMC plugin, and will only work on Paper and its downstream forks – Spigot and CraftBukkit are not supported. This is intentional – bStats data revealed that about 85% of Bukkit-based servers run Paper1 , and since Paper's API provides features not present in the base CraftBukkit API, there was no meaningful reason to maintain broader compatibility. If you're not already running Paper, you probably should be.
In order to install Szlaban, you will need a Minecraft server running a compatible server software implementation. The following instructions are given as guidance, and may vary depending on where you host your server.
- Download the latest version of the plugin from GitHub releases (or your preferred plugin distribution platform)
- Open your server's file manager
- Open the
plugins/directory - Upload the plugin jar that you downloaded in step 1
- Restart your server – Szlaban should now be loaded!
Additional Dependencies
Szlaban supports the following optional dependencies, which unlock additional functionality when installed:
- ProtocolLib – enables the
protocollibfirewall engine as an alternative blocking backend.
Configuration
See configuration.md
Developing
Szlaban is well-documented, so getting started with development should be straightforward – just make sure you have the requirements, then follow the steps below!
Requirements
- Java 21+
- Gradle 9.4.1+ (works via wrapper)
Setup
First, clone the repository and cd into the folder.
git clone https://github.com/PiotrWey/Szlaban.git && cd Szlaban
Building
This project uses Gradle as its build system. It will resolve all dependencies automatically, so you can build the project using the following command:
./gradlew build
Testing
Tests are written using JUnit 5, and can be run using Gradle:
./gradlew test
If you would like to manually test functionality on a server, the project includes a Gradle task for this:
./gradlew runServer
Contributing
See CONTRIBUTING.md for contributor guidelines.
Szlaban has documentation! Make sure to read it if you want to contribute.
Licence
This project is licensed under the GNU Lesser General Public License v3.0 with additional terms under GPL-3.0 section 7 – see LICENCE.ADDITIONAL_TERMS for details.
This project is not affiliated with, endorsed by, or associated with Mojang Studios AB or Microsoft. 'Minecraft' is a trademark of Mojang Studios AB and is used here solely for descriptive purposes.
Footnotes
-
Statistics from bStats; analysed using PiotrWey/MCSS_DataAnalysis ↩︎