- Tested MC versions
- 1.18, 1.19, 1.20, 1.21, 26.1, 26.2, 26.3
AstraLogin
A user-friendly, efficient, and reliable login system designed for modern Minecraft servers.
Created and maintained with from Poland by DawcoU
AstraLogin is a modern, high-performance login plugin built specifically for newer Minecraft versions (1.18 - 26.3+).
Developed in Java 17 and leveraging the Paper API for maximum efficiency, it is the perfect choice for Survival, RPG, and SMP servers.
AstraLogin supports:
- Paper
- Purpur
- Folia
- Arclight
(supported, but not recommended)
- Spigot
(supported, but not recommended)
Spigot is supported, but it is not the recommended platform.
Some features may behave differently or cause compatibility issues.
Paper or its forks are strongly recommended for the best experience.
๐ Key Features
-
Advanced Security: Password hashing using the BCrypt or Argon2id algorithm, ensuring no plain text is ever stored and protecting against dictionary attacks. Passwords are automatically re-hashed using the selected hashing algorithm after a successful login when necessary.
-
Suspicious Activity Alerts: Sends real-time notifications to administrators with permissions when suspicious actions occur, such as a player logging in from an unknown IP address completely different from their saved profile IP.
-
Strict Input Validation: Prevents players from registering with unauthorized characters, emojis, or special symbols. Includes a configurable regex pattern and pre-built rules to block weak passwords, such as those made entirely of letters or entirely of numbers.
-
Detailed Event Logging: All key server events, including player logins, suspicious access attempts, and administrative actions, are logged to dedicated files in the
logsfolder inside the plugin directory. -
Smart Brute-Force Protection:
-
Failed Attempts Limit: Automatically kicks players after exceeding allowed login attempts.
-
Margin of Error: Configure extra "mercy" chances (margin) before a final action is taken.
-
Temporary IP Bans: If the limit is reached, the user's IP is banned to prevent further attacks without bloating your database.
-
Two-Factor Authentication (2FA): Next-level account security! Players can link their accounts to authenticator apps to protect themselves from hackers.
-
Account Management & Statistics: Comprehensive tracking of player data, including registration/last login dates, 2FA status, UUIDs, and more!
-
Session System: Allows players to rejoin without re-typing their password within a configurable time limit (IP-based).
-
Dedicated 2FA Sessions: Separately manages 2FA verification, allowing players to authenticate their 2FA code periodically (e.g., once every 2 days) independently from the main login session.
-
In-Game Player Protection:
-
Equipment Protection: Complete concealment of player inventory and armor during the login process to prevent exploits and unauthorized spying on other players' gear.
-
Location Protection: Teleports unauthorized players to a secure location (or spawn) and restores their previous position only after successful login, preventing coordinate leaks and exploits.
-
Inventory Storage: Temporarily holds player items during the login process until they are authorized.
-
Visual Effects:
-
Blindness Effect: Keeps unauthorized players in total darkness.
-
HEX Colors: Full support for modern HEX color codes in the prefix and all messages via MiniMessage/Legacy!
-
Interactive Sound Effects: Plays custom, configurable sound effects during various player actions (e.g., successful login, wrong password entry, invalid password format) to enhance the user experience.
-
Seasonal Events:
Automatically activates themed events during configured dates, replacing standard sound effects with randomly selected seasonal sounds and displaying atmospheric messages.
-
Localization & Multilingual Support: Native built-in language files with full translation support for English, Polish, Spanish, and German.
-
Admin Utilities:
-
Auto-Updater: Configuration files automatically update when you install a newer plugin version. Additionally, you can automatically download the latest
.jarfile from Modrinth directly into the server'supdatefolder via command, ensuring it installs seamlessly upon the next server restart. -
Update Notifications: Notifies administrators when a new version is available, with warnings about pre-release versions, newer versions, and available patches.
-
Smart Schedulers: Automatically selects the most suitable scheduler based on the server engine and available scheduling APIs, ensuring compatibility across supported platforms such as Paper, Folia, and other supported server implementations.
-
AutoLogin Premium: Automatic login system for premium accounts:
-
FULL Mode: Secure, complete Minecraft/Mojang session authentication handshake (requires ProtocolLib or PacketEvents depending on the selected backend configuration).
-
MINI Mode: Prototype mode that checks nickname existence in Mojang database without full authentication, allowing cracked logins with that nickname without a password.
-
Password Recovery: Using the PIN as a separate source of authentication confirmation, you can reset your password yourself.
-
Security Reminders: Periodically reminds players to boost their account security by enabling 2FA or setting up a recovery PIN.
๐ ๏ธ Commands & Permissions
| Command | Description | Permission |
|---|---|---|
/register <pass> <repeat> | Register a new account | None |
/login <pass> | Log into the server | None |
/logout | Log out of the server | None |
/pin <set> <PIN/Automatically> | Generates a random PIN or requires manual entry (Depending on configuration) | None |
/changepassword <old> <new> <repeat> | Change your current password | None |
/2fa <setup/unsetup/code> | Manage and verify your 2FA security | None |
/forgotpass <PIN> | Resets password using pin | None |
/account <player> | View advanced account stats (UUID, IP, 2FA, dates) | astralogin.account |
/accountslist | View all AstraLogin accounts | astralogin.accountslist |
/resetpassword <player> | Deletes a player's password | astralogin.resetpassword |
/resetip <player> | Resets the player's IP address | astralogin.resetip |
/resetpin <player> | Resets the player's PIN | astralogin.resetpin |
/reset2fa <player> | Resets a player's 2FA | astralogin.reset2fa |
/resetaccount <player> | Wipes all player data (password, IP, location, 2FA) | astralogin.resetaccount |
/moveaccount <old player> <new player> | Transfers all AstraLogin player data to another account | astralogin.moveaccount |
/loginspawn <setspawn/delspawn> <before_login/after_login> | Sets and removes the selected login spawn | astralogin.spawn.setspawn, astralogin.spawn.delspawn |
/astralogin reload | Reloads the plugin configuration | astralogin.reload |
/astralogin update | Downloads the latest version from Modrinth to the server's update folder | astralogin.update |
/iptrust <info/set/reset> <IP> <score> | Shows IP reputation, resets, and sets | astralogin.iptrust.info, astralogin.iptrust.set, astralogin.iptrust.reset |
/iplist | Shows all IP bans | astralogin.iplist |
/ipmanager <info/unban/bypass/unbypass> <player> | Manage IP bans and bypass status for players | astralogin.ipmanager.info, astralogin.ipmanager.unban, astralogin.ipmanager.bypass, astralogin.ipmanager.unbypass |
Other Permissions:
astralogin.updateโ Receive a notification when a new version is available and access plugin auto-updates.astralogin.alertsโ Sends alerts about suspicious player activity
๐ฅ Installation
- Download the
.jarfile from Modrinth. - Drop it into your
pluginsfolder. - Restart your server.
- Customize your messages in the languages folder and settings in
config.yml.
๐ ๏ธ Other Projects
AstraRedstoneSystems Check out my other plugin! It's an advanced redstone mechanics system with number gates and more!
Links 
GitHub AstraLogin: GitHub
๐ Support & Community
If you need help, want to report a bug, or follow the development by DawcoU, join our official Discord community:
๐ฆ AstraLogin API & Events (JitPack)
You can easily use AstraLogin as a dependency in your own projects using JitPack.
Note: The API and Custom Events are available starting from v4.6.0 and newer. Versions below
v4.6.0do not support the API.
ReplaceTagin the examples below with a specific version tag from AstraLogin GitHub Releases / Tags (e.g.,v4.6.0).
API Licensing Exception: The API interfaces and classes are exempt from the main project's strict ARR (All Rights Reserved) license. You are fully authorized and legally safe to develop companion plugins, extensions, or helper tools (such as small utilities checking login status or 2FA) that hook into AstraLogin's API without violating terms!
Gradle (build.gradle)
repositories {
mavenCentral()
maven { url = 'https://jitpack.io' }
}
dependencies {
compileOnly 'com.github.DawcoU:AstraLogin:Tag'
}
Maven (pom.xml)
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.github.DawcoU</groupId>
<artifactId>AstraLogin</artifactId>
<version>Tag</version>
<scope>provided</scope>
</dependency>
</dependencies>
๐ป Example 1: Basic API Access
import org.bukkit.Bukkit;
import org.bukkit.plugin.RegisteredServiceProvider;
import pl.dawcou.astralogin.api.AstraLoginAPI;
import java.util.UUID;
public class ExamplePlugin {
private AstraLoginAPI api;
public void loadApi() {
RegisteredServiceProvider<AstraLoginAPI> provider =
Bukkit.getServicesManager().getRegistration(AstraLoginAPI.class);
if (provider != null) {
this.api = provider.getProvider();
}
}
public boolean isPlayerAuthenticated(UUID uuid) {
return api != null && api.isLogged(uuid);
}
}
๐ Example 2: Listening to AstraLogin Events
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import pl.dawcou.astralogin.api.events.PlayerLoginEvent;
public class CustomLoginListener implements Listener {
@EventHandler
public void onPlayerLogin(PlayerLoginEvent event) {
// Retrieve parameters provided by AstraLoginEvent
Player player = event.getPlayer();
String ip = event.getIp();
long timestamp = event.getTimestamp();
// Perform custom action on successful login
player.sendMessage("Welcome back! Successfully logged in from IP: " + ip);
// Example: Check or cancel event status if needed (since PlayerLoginEvent implements Cancellable)
if (event.isCancelled()) {
return;
}
}
}
Similar projects
Plugin โVeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Simple Voice Chat
A working voice chat in Minecraft!
76.8MSueta
Chunky
Pre-generates chunks, quickly and efficiently
18.4MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
WorldEdit
A Minecraft Map Editor... that runs in-game! With selections, schematics, copy and paste, brushes, and scripting. Use it in creative, or use it temporarily in survival.
11.6MSueta