Compare commits

..
Author SHA1 Message Date
dependabot[bot] 7ef31e57ff Bump the development-dependencies group across 1 directory with 5 updates
Bumps the development-dependencies group with 5 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) | `5.12.2` | `6.0.2` |
| [org.mockito:mockito-core](https://github.com/mockito/mockito) | `5.17.0` | `5.21.0` |
| [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) | `3.5.3` | `3.5.4` |
| [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) | `1.80` | `1.83` |
| [org.codehaus.mojo:templating-maven-plugin](https://github.com/mojohaus/templating-maven-plugin) | `3.0.0` | `3.1.0` |



Updates `org.junit.jupiter:junit-jupiter` from 5.12.2 to 6.0.2
- [Release notes](https://github.com/junit-team/junit-framework/releases)
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.12.2...r6.0.2)

Updates `org.mockito:mockito-core` from 5.17.0 to 5.21.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.17.0...v5.21.0)

Updates `org.apache.maven.plugins:maven-surefire-plugin` from 3.5.3 to 3.5.4
- [Release notes](https://github.com/apache/maven-surefire/releases)
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.5.3...surefire-3.5.4)

Updates `org.bouncycastle:bcprov-jdk18on` from 1.80 to 1.83
- [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html)
- [Commits](https://github.com/bcgit/bc-java/commits)

Updates `org.codehaus.mojo:templating-maven-plugin` from 3.0.0 to 3.1.0
- [Release notes](https://github.com/mojohaus/templating-maven-plugin/releases)
- [Commits](https://github.com/mojohaus/templating-maven-plugin/compare/3.0.0...templating-maven-plugin-3.1.0)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter
  dependency-version: 6.0.2
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: development-dependencies
- dependency-name: org.mockito:mockito-core
  dependency-version: 5.21.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: org.apache.maven.plugins:maven-surefire-plugin
  dependency-version: 3.5.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: org.bouncycastle:bcprov-jdk18on
  dependency-version: '1.83'
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: org.codehaus.mojo:templating-maven-plugin
  dependency-version: 3.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-01 07:52:36 +00:00
6 changed files with 11 additions and 110 deletions
-71
View File
@@ -1,71 +0,0 @@
# Contributing Guide
## Architectural overview
```mermaid
graph TB
subgraph "Minecraft Server Platforms"
SPIGOT["Spigot/Paper<br/>(Bukkit Module)"]
BUNGEE["BungeeCord<br/>(Proxy Module)"]
VELOCITY["Velocity<br/>(Velocity Module)"]
end
subgraph "FastLogin Core"
CORE["FastLoginCore<br/>Main Logic Engine"]
SESSION["LoginSession<br/>Session Management"]
AUTH["AuthPlugin Hook<br/>Auth Integration"]
RESOLVER["ProxyAgnosticMojangResolver<br/>Profile Resolution"]
STORAGE["SQLStorage<br/>Database Layer"]
ANTIBOT["AntiBotService<br/>Rate Limiting"]
end
subgraph "Bedrock Support"
FLOODGATE["FloodgateManagement<br/>Bedrock Players"]
GEYSER["GeyserService<br/>Geyser Integration"]
BEDROCK["BedrockService<br/>Base Service"]
end
subgraph "External Services"
MOJANG["Mojang API<br/>api.mojang.com"]
SESSION_SERVER["Session Server<br/>sessionserver.mojang.com"]
DATABASE[(SQL Database<br/>MySQL/SQLite)]
end
subgraph "Async Processing"
SCHEDULER["AbstractAsyncScheduler<br/>Thread Pool Management"]
end
subgraph "Messaging"
MESSAGES["ChannelMessage<br/>Proxy Messages <br/>(i.e. BungeeCord)"]
NAMEKEY["NamespaceKey<br/>Message Routing"]
end
SPIGOT -->|loads| CORE
BUNGEE -->|loads| CORE
VELOCITY -->|loads| CORE
CORE -->|manages| SESSION
CORE -->|uses| AUTH
CORE -->|resolves profiles| RESOLVER
CORE -->|persists data| STORAGE
CORE -->|checks rate limits| ANTIBOT
CORE -->|handles bedrock| FLOODGATE
FLOODGATE -->|extends| BEDROCK
GEYSER -->|extends| BEDROCK
RESOLVER -->|queries| MOJANG
RESOLVER -->|verifies| SESSION_SERVER
STORAGE -->|connects to| DATABASE
CORE -->|schedules async| SCHEDULER
MESSAGES -->|uses| NAMEKEY
CORE -->|sends via| MESSAGES
AUTH -.->|delegates to| SPIGOT
AUTH -.->|delegates to| BUNGEE
ANTIBOT -->|rate limits| RESOLVER
```
+5 -33
View File
@@ -32,42 +32,14 @@ Development builds contain the latest changes from the Source-Code. They are ble
but also include features, enhancements and bug fixes that are not yet in a released version. If you click on the left
side on `Changes`, you can see iterative change sets leading to a specific build.
You can download them from here: [CodeMC(Jenkins)](https://ci.codemc.org/job/Games647/job/FastLogin/)
~~You can download them from here: [CodeMC(Jenkins)](https://ci.codemc.org/job/Games647/job/FastLogin/)~~
Currently broken due changed usernames. Download it from [here](https://github.com/TuxCoding/FastLogin/releases)
***
## Technical Authentication
```mermaid
sequenceDiagram
autonumber
participant C as Client
participant S as Server
participant M as Mojang
C->>S: LOGIN_START (name)
Note over S: DB: check if username is saved as premium
S->>C: ENCRYPTION_REQUEST
Note right of C: Offline clients terminates connection here
Note right of C: In Offlinemode: LOGIN_SUCCESS is sent directly
rect rgb(240, 240, 240)
C->>M: POST /session/minecraft/join
C->>S: ENCRYPTION_RESPONSE
Note right of C: Client starts encrypting
end
Note over S: Decrypt and verify token
S->>M: GET /hasJoined (async)
M->>S: {uuid, name, skin}
Note over S: Server encrypts traffic
Note over S: Inject skin and premium UUID
S->>S: Re-inject LOGIN_START(name)
S->>C: LOGIN_SUCCESS
```
## Commands
/premium [player] Label the invoker or the argument as paid account
+1 -1
View File
@@ -395,7 +395,7 @@
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk18on</artifactId>
<version>1.80</version>
<version>1.83</version>
<scope>test</scope>
</dependency>
</dependencies>
@@ -235,7 +235,7 @@ public class ConnectListener implements Listener {
// delay sending force command, because Paper will process the login event asynchronously
// In this case it means that the force command (plugin message) is already received and processed while
// player is still in the login phase and reported to be offline
// player is still in the login phase and reported to be offline.
Runnable loginTask = new ForceLoginTask(plugin.getCore(), player, server, session);
plugin.getScheduler().runAsync(loginTask);
}
+3 -3
View File
@@ -162,7 +162,7 @@
<!-- Require newer versions for Junit5 support -->
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.5.3</version>
<version>3.5.4</version>
<configuration>
<!-- Work-around to make multi-release classes discoverable
https://issues.apache.org/jira/browse/SUREFIRE-1731 -->
@@ -221,7 +221,7 @@
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.12.2</version>
<version>6.0.2</version>
<scope>test</scope>
</dependency>
@@ -229,7 +229,7 @@
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>5.17.0</version>
<version>5.21.0</version>
<scope>test</scope>
</dependency>
</dependencies>
+1 -1
View File
@@ -52,7 +52,7 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>templating-maven-plugin</artifactId>
<version>3.0.0</version>
<version>3.1.0</version>
<executions>
<execution>
<id>filter-src</id>