Compare commits
7 Commits
b49
..
multipaper
| Author | SHA1 | Date | |
|---|---|---|---|
| 3cffd16ff2 | |||
| 3d1392f0e1 | |||
| c2cd561e27 | |||
| 12880a5cfd | |||
| b5a8df2c4e | |||
| a035ba0a4b | |||
| bf6de0e161 |
@@ -10,11 +10,11 @@ jobs:
|
|||||||
Build:
|
Build:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
jdkversion: [ 21 ]
|
jdkversion: [ 17 ]
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v3
|
||||||
- uses: actions/setup-java@v4
|
- uses: actions/setup-java@v3
|
||||||
with:
|
with:
|
||||||
distribution: 'temurin'
|
distribution: 'temurin'
|
||||||
java-version: ${{ matrix.jdkversion }}
|
java-version: ${{ matrix.jdkversion }}
|
||||||
@@ -22,7 +22,7 @@ jobs:
|
|||||||
- name: Build
|
- name: Build
|
||||||
run: mvn -V -B clean package --file pom.xml
|
run: mvn -V -B clean package --file pom.xml
|
||||||
- name: Upload Artifacts
|
- name: Upload Artifacts
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v3.1.2
|
||||||
with:
|
with:
|
||||||
name: Download
|
name: Download
|
||||||
path: ./target/AuthMe-5.6.0-FORK-Universal.jar
|
path: ./target/AuthMe-5.6.0-FORK-Universal.jar
|
||||||
@@ -37,10 +37,8 @@ jobs:
|
|||||||
javaVersion: '8'
|
javaVersion: '8'
|
||||||
- mcVersion: '1.12.2'
|
- mcVersion: '1.12.2'
|
||||||
javaVersion: '8'
|
javaVersion: '8'
|
||||||
- mcVersion: '1.18.2'
|
- mcVersion: '1.20.1'
|
||||||
javaVersion: '17'
|
javaVersion: '17'
|
||||||
- mcVersion: '1.20.4'
|
|
||||||
javaVersion: '21'
|
|
||||||
steps:
|
steps:
|
||||||
- uses: HaHaWTH/minecraft-plugin-runtime-test@paper
|
- uses: HaHaWTH/minecraft-plugin-runtime-test@paper
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -1,60 +1 @@
|
|||||||
# AuthMeReReloaded
|
**This branch adds Multipaper support, requires Java17 or higher**
|
||||||
**"A fork of the best authentication plugin for the Bukkit modding API!⭐"**
|
|
||||||
|
|
||||||
[English](https://github.com/HaHaWTH/AuthMeReReloaded) | [简体中文](https://github.com/HaHaWTH/AuthMeReReloaded/blob/master/README-zh.md)
|
|
||||||
|
|
||||||

|
|
||||||
<p align="center">
|
|
||||||
<img src="https://img.shields.io/github/languages/code-size/HaHaWTH/AuthMeReReloaded.svg" alt="Code size"/>
|
|
||||||
<img src="https://img.shields.io/github/repo-size/HaHaWTH/AuthMeReReloaded.svg" alt="GitHub repo size"/>
|
|
||||||
<img src="https://www.codefactor.io/repository/github/hahawth/authmerereloaded/badge" alt="CodeFactor" />
|
|
||||||
<img alt="GitHub Downloads (all assets, all releases)" src="https://img.shields.io/github/downloads/HaHaWTH/AuthMeReReloaded/total?logo=github&label=GitHub%20Downloads&color=black">
|
|
||||||
<img alt="Spiget Downloads" src="https://img.shields.io/spiget/downloads/114010?logo=spigotmc&label=SpigotMC%20Downloads&color=orange">
|
|
||||||
<img alt="Modrinth Downloads" src="https://img.shields.io/modrinth/dt/3IEZ9vol?logo=modrinth&label=Modrinth%20Downloads&color=light-green">
|
|
||||||
<img alt="Hangar Downloads" src="https://img.shields.io/hangar/dt/AuthMeReReloaded?logo=hangar&label=Hangar%20Downloads&color=white">
|
|
||||||
</p>
|
|
||||||
|
|
||||||
**Detailed Changes:**
|
|
||||||
1. Improved mail sending logic & support more emails
|
|
||||||
2. Shutdown mail sending(When server is closed, email you)
|
|
||||||
3. Legacy bug fixes
|
|
||||||
4. Anti Ghost Player(Doubled login bug)
|
|
||||||
5. Use the best performance method by server brand
|
|
||||||
6. Bedrock Compatibility(Floodgate needed)(based on UUID)
|
|
||||||
7. Update checker
|
|
||||||
8. Integrated GUI Captcha feature(Bedrock compatibility & ProtocolLib needed)(70% Asynchronous)
|
|
||||||
9. Improved listeners
|
|
||||||
10. Player login logic improvement to reduce lag
|
|
||||||
11. Automatically purge bot data
|
|
||||||
12. **Folia support (in active testing)**
|
|
||||||
13. Offhand Menu compatibility(Thats amazing)
|
|
||||||
14. **Velocity support (See [Velocity Support](./vc-support.md))**
|
|
||||||
15. Support Virtual Threads caching
|
|
||||||
16. Automatically fix portal stuck issue
|
|
||||||
17. Automatically login for Bedrock players(configurable)
|
|
||||||
18. Fix shulker box crash bug on legacy versions(MC 1.13-)
|
|
||||||
19. **H2 database support**
|
|
||||||
20. **100% compatibility with original authme and extensions**
|
|
||||||
21. More......
|
|
||||||
|
|
||||||
**Download links:**
|
|
||||||
[Releases](https://github.com/HaHaWTH/AuthMeReReloaded/releases/latest)
|
|
||||||
[Actions(Dev builds, use at your own risk!)](https://github.com/HaHaWTH/AuthMeReReloaded/actions/workflows/maven.yml)
|
|
||||||
|
|
||||||
If you are using FRP(内网穿透) for your server, this plugin may help [HAProxy-Detector](https://github.com/HaHaWTH/HAProxy-Detector)
|
|
||||||
|
|
||||||
**Pull Requests and suggestions are welcome!**
|
|
||||||
|
|
||||||
## License
|
|
||||||
|
|
||||||
Only additions to AuthMeReloaded is under AGPL-3.0 license, AuthMeReloaded is licensed under GPL-3.0.
|
|
||||||
|
|
||||||
<picture>
|
|
||||||
<source
|
|
||||||
media="(prefers-color-scheme: dark)"
|
|
||||||
srcset="
|
|
||||||
https://api.star-history.com/svg?repos=HaHaWTH/AuthMeReReloaded&type=Date&theme=dark
|
|
||||||
"
|
|
||||||
/>
|
|
||||||
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=HaHaWTH/AuthMeReReloaded&type=Date" />
|
|
||||||
</picture>
|
|
||||||
@@ -67,7 +67,7 @@
|
|||||||
<maven.minimumVersion>3.6.3</maven.minimumVersion>
|
<maven.minimumVersion>3.6.3</maven.minimumVersion>
|
||||||
|
|
||||||
<!-- Dependencies versions -->
|
<!-- Dependencies versions -->
|
||||||
<spigot.version>1.20.6-R0.1-SNAPSHOT</spigot.version>
|
<spigot.version>1.20.4-R0.1-SNAPSHOT</spigot.version>
|
||||||
|
|
||||||
<!-- Versioning properties -->
|
<!-- Versioning properties -->
|
||||||
<project.outputName>AuthMe</project.outputName>
|
<project.outputName>AuthMe</project.outputName>
|
||||||
@@ -215,7 +215,7 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-jar-plugin</artifactId>
|
<artifactId>maven-jar-plugin</artifactId>
|
||||||
<version>3.4.1</version>
|
<version>3.3.0</version>
|
||||||
</plugin>
|
</plugin>
|
||||||
<!-- Generate a jar containing the source javadoc -->
|
<!-- Generate a jar containing the source javadoc -->
|
||||||
<plugin>
|
<plugin>
|
||||||
@@ -256,7 +256,7 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-shade-plugin</artifactId>
|
<artifactId>maven-shade-plugin</artifactId>
|
||||||
<version>3.5.3</version>
|
<version>3.5.2</version>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<id>shaded-jar</id>
|
<id>shaded-jar</id>
|
||||||
@@ -279,6 +279,10 @@
|
|||||||
</excludes>
|
</excludes>
|
||||||
</artifactSet>
|
</artifactSet>
|
||||||
<relocations>
|
<relocations>
|
||||||
|
<relocation>
|
||||||
|
<pattern>org.h2</pattern>
|
||||||
|
<shadedPattern>fr.xephi.authme.libs.org.h2</shadedPattern>
|
||||||
|
</relocation>
|
||||||
<relocation>
|
<relocation>
|
||||||
<pattern>org.apache.http</pattern>
|
<pattern>org.apache.http</pattern>
|
||||||
<shadedPattern>fr.xephi.authme.libs.org.apache.http</shadedPattern>
|
<shadedPattern>fr.xephi.authme.libs.org.apache.http</shadedPattern>
|
||||||
@@ -287,10 +291,34 @@
|
|||||||
<pattern>org.apache.commons</pattern>
|
<pattern>org.apache.commons</pattern>
|
||||||
<shadedPattern>fr.xephi.authme.libs.org.apache.commons</shadedPattern>
|
<shadedPattern>fr.xephi.authme.libs.org.apache.commons</shadedPattern>
|
||||||
</relocation>
|
</relocation>
|
||||||
|
<relocation>
|
||||||
|
<pattern>javax.activation</pattern>
|
||||||
|
<shadedPattern>fr.xephi.authme.libs.javax.activation</shadedPattern>
|
||||||
|
</relocation>
|
||||||
|
<relocation>
|
||||||
|
<pattern>javax.annotation</pattern>
|
||||||
|
<shadedPattern>fr.xephi.authme.libs.javax.annotation</shadedPattern>
|
||||||
|
</relocation>
|
||||||
|
<relocation>
|
||||||
|
<pattern>javax.mail</pattern>
|
||||||
|
<shadedPattern>fr.xephi.authme.libs.javax.mail</shadedPattern>
|
||||||
|
</relocation>
|
||||||
<relocation>
|
<relocation>
|
||||||
<pattern>waffle</pattern>
|
<pattern>waffle</pattern>
|
||||||
<shadedPattern>fr.xephi.authme.libs.waffle</shadedPattern>
|
<shadedPattern>fr.xephi.authme.libs.waffle</shadedPattern>
|
||||||
</relocation>
|
</relocation>
|
||||||
|
<relocation>
|
||||||
|
<pattern>com.sun.mail</pattern>
|
||||||
|
<shadedPattern>fr.xephi.authme.libs.com.sun.mail</shadedPattern>
|
||||||
|
</relocation>
|
||||||
|
<relocation>
|
||||||
|
<pattern>com.sun.jna</pattern>
|
||||||
|
<shadedPattern>fr.xephi.authme.libs.com.sun.jna</shadedPattern>
|
||||||
|
</relocation>
|
||||||
|
<relocation>
|
||||||
|
<pattern>com.sun.activation</pattern>
|
||||||
|
<shadedPattern>fr.xephi.authme.libs.com.sun.activation</shadedPattern>
|
||||||
|
</relocation>
|
||||||
<relocation>
|
<relocation>
|
||||||
<pattern>com.github.benmanes.caffeine</pattern>
|
<pattern>com.github.benmanes.caffeine</pattern>
|
||||||
<shadedPattern>fr.xephi.authme.libs.com.github.benmanes.caffeine</shadedPattern>
|
<shadedPattern>fr.xephi.authme.libs.com.github.benmanes.caffeine</shadedPattern>
|
||||||
@@ -337,6 +365,10 @@
|
|||||||
<pattern>com.google.gson</pattern>
|
<pattern>com.google.gson</pattern>
|
||||||
<shadedPattern>fr.xephi.authme.libs.com.google.gson</shadedPattern>
|
<shadedPattern>fr.xephi.authme.libs.com.google.gson</shadedPattern>
|
||||||
</relocation>
|
</relocation>
|
||||||
|
<relocation>
|
||||||
|
<pattern>org.h2</pattern>
|
||||||
|
<shadedPattern>fr.xephi.authme.libs.org.h2</shadedPattern>
|
||||||
|
</relocation>
|
||||||
<relocation>
|
<relocation>
|
||||||
<pattern>org.apache.http</pattern>
|
<pattern>org.apache.http</pattern>
|
||||||
<shadedPattern>fr.xephi.authme.libs.org.apache.http</shadedPattern>
|
<shadedPattern>fr.xephi.authme.libs.org.apache.http</shadedPattern>
|
||||||
@@ -345,14 +377,42 @@
|
|||||||
<pattern>org.apache.commons</pattern>
|
<pattern>org.apache.commons</pattern>
|
||||||
<shadedPattern>fr.xephi.authme.libs.org.apache.commons</shadedPattern>
|
<shadedPattern>fr.xephi.authme.libs.org.apache.commons</shadedPattern>
|
||||||
</relocation>
|
</relocation>
|
||||||
|
<relocation>
|
||||||
|
<pattern>javax.activation</pattern>
|
||||||
|
<shadedPattern>fr.xephi.authme.libs.javax.activation</shadedPattern>
|
||||||
|
</relocation>
|
||||||
|
<relocation>
|
||||||
|
<pattern>javax.annotation</pattern>
|
||||||
|
<shadedPattern>fr.xephi.authme.libs.javax.annotation</shadedPattern>
|
||||||
|
</relocation>
|
||||||
|
<relocation>
|
||||||
|
<pattern>javax.mail</pattern>
|
||||||
|
<shadedPattern>fr.xephi.authme.libs.javax.mail</shadedPattern>
|
||||||
|
</relocation>
|
||||||
<relocation>
|
<relocation>
|
||||||
<pattern>waffle</pattern>
|
<pattern>waffle</pattern>
|
||||||
<shadedPattern>fr.xephi.authme.libs.waffle</shadedPattern>
|
<shadedPattern>fr.xephi.authme.libs.waffle</shadedPattern>
|
||||||
</relocation>
|
</relocation>
|
||||||
|
<relocation>
|
||||||
|
<pattern>com.sun.mail</pattern>
|
||||||
|
<shadedPattern>fr.xephi.authme.libs.com.sun.mail</shadedPattern>
|
||||||
|
</relocation>
|
||||||
|
<relocation>
|
||||||
|
<pattern>com.sun.jna</pattern>
|
||||||
|
<shadedPattern>fr.xephi.authme.libs.com.sun.jna</shadedPattern>
|
||||||
|
</relocation>
|
||||||
|
<relocation>
|
||||||
|
<pattern>com.sun.activation</pattern>
|
||||||
|
<shadedPattern>fr.xephi.authme.libs.com.sun.activation</shadedPattern>
|
||||||
|
</relocation>
|
||||||
<relocation>
|
<relocation>
|
||||||
<pattern>com.github.benmanes.caffeine</pattern>
|
<pattern>com.github.benmanes.caffeine</pattern>
|
||||||
<shadedPattern>fr.xephi.authme.libs.com.github.benmanes.caffeine</shadedPattern>
|
<shadedPattern>fr.xephi.authme.libs.com.github.benmanes.caffeine</shadedPattern>
|
||||||
</relocation>
|
</relocation>
|
||||||
|
<relocation>
|
||||||
|
<pattern>com.github.puregero.multilib</pattern>
|
||||||
|
<shadedPattern>fr.xephi.authme.libs.com.github.puregero.multilib</shadedPattern>
|
||||||
|
</relocation>
|
||||||
</relocations>
|
</relocations>
|
||||||
</configuration>
|
</configuration>
|
||||||
</execution>
|
</execution>
|
||||||
@@ -459,10 +519,6 @@
|
|||||||
<pattern>org.apache.commons.validator</pattern>
|
<pattern>org.apache.commons.validator</pattern>
|
||||||
<shadedPattern>fr.xephi.authme.libs.org.apache.commons.validator</shadedPattern>
|
<shadedPattern>fr.xephi.authme.libs.org.apache.commons.validator</shadedPattern>
|
||||||
</relocation>
|
</relocation>
|
||||||
<relocation>
|
|
||||||
<pattern>com.alessiodp.libby</pattern>
|
|
||||||
<shadedPattern>fr.xephi.authme.libs.com.alessiodp.libby</shadedPattern>
|
|
||||||
</relocation>
|
|
||||||
</relocations>
|
</relocations>
|
||||||
|
|
||||||
<filters>
|
<filters>
|
||||||
@@ -587,6 +643,12 @@
|
|||||||
</snapshots>
|
</snapshots>
|
||||||
</repository>
|
</repository>
|
||||||
|
|
||||||
|
<!-- MultiLib -->
|
||||||
|
<repository>
|
||||||
|
<id>clojars</id>
|
||||||
|
<url>https://repo.clojars.org</url>
|
||||||
|
</repository>
|
||||||
|
|
||||||
<!-- ProtocolLib Repo -->
|
<!-- ProtocolLib Repo -->
|
||||||
<repository>
|
<repository>
|
||||||
<id>dmulloy2-repo-releases</id>
|
<id>dmulloy2-repo-releases</id>
|
||||||
@@ -609,12 +671,6 @@
|
|||||||
</snapshots>
|
</snapshots>
|
||||||
</repository>
|
</repository>
|
||||||
|
|
||||||
<!-- Maven Central Snapshots Repository -->
|
|
||||||
<repository>
|
|
||||||
<id>maven-snapshots</id>
|
|
||||||
<url>https://s01.oss.sonatype.org/content/repositories/snapshots/</url>
|
|
||||||
</repository>
|
|
||||||
|
|
||||||
<!-- Multiverse Repo -->
|
<!-- Multiverse Repo -->
|
||||||
<repository>
|
<repository>
|
||||||
<id>onarandombox-repo-releases</id>
|
<id>onarandombox-repo-releases</id>
|
||||||
@@ -717,7 +773,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.commons</groupId>
|
<groupId>org.apache.commons</groupId>
|
||||||
<artifactId>commons-email</artifactId>
|
<artifactId>commons-email</artifactId>
|
||||||
<version>1.6-SNAPSHOT</version>
|
<version>1.6.0</version>
|
||||||
<optional>true</optional>
|
<optional>true</optional>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
@@ -729,14 +785,6 @@
|
|||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- Libby -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.alessiodp.libby</groupId>
|
|
||||||
<artifactId>libby-bukkit</artifactId>
|
|
||||||
<version>2.0.0-SNAPSHOT</version>
|
|
||||||
<scope>compile</scope>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<!-- Database Connection Pool -->
|
<!-- Database Connection Pool -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.zaxxer</groupId>
|
<groupId>com.zaxxer</groupId>
|
||||||
@@ -1148,18 +1196,26 @@
|
|||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<!-- MultiLib -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.github.puregero</groupId>
|
||||||
|
<artifactId>multilib</artifactId>
|
||||||
|
<version>1.1.13</version>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<!-- JDBC drivers for datasource integration tests -->
|
<!-- JDBC drivers for datasource integration tests -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.xerial</groupId>
|
<groupId>org.xerial</groupId>
|
||||||
<artifactId>sqlite-jdbc</artifactId>
|
<artifactId>sqlite-jdbc</artifactId>
|
||||||
<version>3.45.3.0</version>
|
<version>3.45.2.0</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.h2database</groupId>
|
<groupId>com.h2database</groupId>
|
||||||
<artifactId>h2</artifactId>
|
<artifactId>h2</artifactId>
|
||||||
<version>2.2.224</version>
|
<version>2.2.224</version>
|
||||||
<scope>provided</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package fr.xephi.authme;
|
|||||||
|
|
||||||
import ch.jalu.injector.Injector;
|
import ch.jalu.injector.Injector;
|
||||||
import ch.jalu.injector.InjectorBuilder;
|
import ch.jalu.injector.InjectorBuilder;
|
||||||
import com.alessiodp.libby.BukkitLibraryManager;
|
|
||||||
import com.github.Anon8281.universalScheduler.UniversalScheduler;
|
import com.github.Anon8281.universalScheduler.UniversalScheduler;
|
||||||
import com.github.Anon8281.universalScheduler.scheduling.schedulers.TaskScheduler;
|
import com.github.Anon8281.universalScheduler.scheduling.schedulers.TaskScheduler;
|
||||||
import fr.xephi.authme.api.v3.AuthMeApi;
|
import fr.xephi.authme.api.v3.AuthMeApi;
|
||||||
@@ -81,7 +80,7 @@ public class AuthMe extends JavaPlugin {
|
|||||||
// Version and build number values
|
// Version and build number values
|
||||||
private static String pluginVersion = "5.6.0-Fork";
|
private static String pluginVersion = "5.6.0-Fork";
|
||||||
private static final String pluginBuild = "b";
|
private static final String pluginBuild = "b";
|
||||||
private static String pluginBuildNumber = "49";
|
private static String pluginBuildNumber = "47";
|
||||||
// Private instances
|
// Private instances
|
||||||
private EmailService emailService;
|
private EmailService emailService;
|
||||||
private CommandHandler commandHandler;
|
private CommandHandler commandHandler;
|
||||||
@@ -144,11 +143,6 @@ public class AuthMe extends JavaPlugin {
|
|||||||
return scheduler;
|
return scheduler;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* The library manager
|
|
||||||
*/
|
|
||||||
public static BukkitLibraryManager libraryManager;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Method called when the server enables the plugin.
|
* Method called when the server enables the plugin.
|
||||||
*/
|
*/
|
||||||
@@ -157,7 +151,6 @@ public class AuthMe extends JavaPlugin {
|
|||||||
// Load the plugin version data from the plugin description file
|
// Load the plugin version data from the plugin description file
|
||||||
loadPluginInfo(getDescription().getVersion());
|
loadPluginInfo(getDescription().getVersion());
|
||||||
scheduler = UniversalScheduler.getScheduler(this);
|
scheduler = UniversalScheduler.getScheduler(this);
|
||||||
libraryManager = new BukkitLibraryManager(this);
|
|
||||||
|
|
||||||
// Set the Logger instance and log file path
|
// Set the Logger instance and log file path
|
||||||
ConsoleLogger.initialize(getLogger(), new File(getDataFolder(), LOG_FILENAME));
|
ConsoleLogger.initialize(getLogger(), new File(getDataFolder(), LOG_FILENAME));
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ import static fr.xephi.authme.datasource.SqlDataSourceUtils.logSqlException;
|
|||||||
/**
|
/**
|
||||||
* H2 data source.
|
* H2 data source.
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings({"checkstyle:AbbreviationAsWordInName"}) // Justification: Class name cannot be changed anymore
|
@SuppressWarnings({"all"}) // Justification: Class name cannot be changed anymore
|
||||||
public class H2 extends AbstractSqlDataSource {
|
public class H2 extends AbstractSqlDataSource {
|
||||||
|
|
||||||
private final ConsoleLogger logger = ConsoleLoggerFactory.get(H2.class);
|
private final ConsoleLogger logger = ConsoleLoggerFactory.get(H2.class);
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package fr.xephi.authme.initialization;
|
package fr.xephi.authme.initialization;
|
||||||
|
|
||||||
import com.alessiodp.libby.Library;
|
|
||||||
import fr.xephi.authme.ConsoleLogger;
|
import fr.xephi.authme.ConsoleLogger;
|
||||||
import fr.xephi.authme.data.auth.PlayerCache;
|
import fr.xephi.authme.data.auth.PlayerCache;
|
||||||
import fr.xephi.authme.datasource.CacheDataSource;
|
import fr.xephi.authme.datasource.CacheDataSource;
|
||||||
@@ -22,8 +21,6 @@ import javax.inject.Provider;
|
|||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
|
||||||
import static fr.xephi.authme.AuthMe.libraryManager;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates the AuthMe data source.
|
* Creates the AuthMe data source.
|
||||||
*/
|
*/
|
||||||
@@ -81,14 +78,8 @@ public class DataSourceProvider implements Provider<DataSource> {
|
|||||||
dataSource = new SQLite(settings, dataFolder);
|
dataSource = new SQLite(settings, dataFolder);
|
||||||
break;
|
break;
|
||||||
case H2:
|
case H2:
|
||||||
Library h2 = Library.builder()
|
|
||||||
.groupId("com.h2database")
|
|
||||||
.artifactId("h2")
|
|
||||||
.version("2.2.224")
|
|
||||||
.build();
|
|
||||||
libraryManager.addMavenCentral();
|
|
||||||
libraryManager.loadLibrary(h2);
|
|
||||||
dataSource = new H2(settings, dataFolder);
|
dataSource = new H2(settings, dataFolder);
|
||||||
|
logger.warning("You are using H2 database, which is still in development!\nMake sure to backup and report any issues you encounter on GitHub!");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
throw new UnsupportedOperationException("Unknown data source type '" + dataSourceType + "'");
|
throw new UnsupportedOperationException("Unknown data source type '" + dataSourceType + "'");
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package fr.xephi.authme.listener;
|
package fr.xephi.authme.listener;
|
||||||
|
|
||||||
|
import com.github.puregero.multilib.MultiLib;
|
||||||
import fr.xephi.authme.AuthMe;
|
import fr.xephi.authme.AuthMe;
|
||||||
import fr.xephi.authme.api.v3.AuthMeApi;
|
import fr.xephi.authme.api.v3.AuthMeApi;
|
||||||
import fr.xephi.authme.data.auth.PlayerCache;
|
import fr.xephi.authme.data.auth.PlayerCache;
|
||||||
@@ -81,7 +82,11 @@ class ListenerService implements SettingsDependent {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
public boolean shouldCancelEvent(Player player) {
|
public boolean shouldCancelEvent(Player player) {
|
||||||
|
if (MultiLib.isMultiPaper()) {
|
||||||
|
if (MultiLib.isExternalPlayer(player)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
return player != null && !checkAuth(player.getName()) && !PlayerUtils.isNpc(player);
|
return player != null && !checkAuth(player.getName()) && !PlayerUtils.isNpc(player);
|
||||||
}
|
}
|
||||||
public boolean shouldCancelInvEvent(Player player) {
|
public boolean shouldCancelInvEvent(Player player) {
|
||||||
|
|||||||
@@ -158,7 +158,7 @@ public class EmailService {
|
|||||||
try {
|
try {
|
||||||
htmlEmail = sendMailSsl.initializeMail(email);
|
htmlEmail = sendMailSsl.initializeMail(email);
|
||||||
} catch (EmailException e) {
|
} catch (EmailException e) {
|
||||||
logger.logException("Failed to create email for shutdown:", e);
|
logger.logException("Failed to create email for recovery code:", e);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package fr.xephi.authme.process.quit;
|
package fr.xephi.authme.process.quit;
|
||||||
|
|
||||||
import com.github.Anon8281.universalScheduler.UniversalScheduler;
|
|
||||||
import fr.xephi.authme.data.limbo.LimboService;
|
import fr.xephi.authme.data.limbo.LimboService;
|
||||||
import fr.xephi.authme.process.SynchronousProcess;
|
import fr.xephi.authme.process.SynchronousProcess;
|
||||||
import fr.xephi.authme.settings.commandconfig.CommandManager;
|
import fr.xephi.authme.settings.commandconfig.CommandManager;
|
||||||
@@ -28,9 +27,7 @@ public class ProcessSyncPlayerQuit implements SynchronousProcess {
|
|||||||
commandManager.runCommandsOnLogout(player);
|
commandManager.runCommandsOnLogout(player);
|
||||||
} else {
|
} else {
|
||||||
limboService.restoreData(player);
|
limboService.restoreData(player);
|
||||||
if (!UniversalScheduler.isFolia) { // AuthMeReReloaded - Fix #146 (Very stupid solution, but works)
|
player.saveData(); // #1238: Speed is sometimes not restored properly
|
||||||
player.saveData(); // #1238: Speed is sometimes not restored properly
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
player.leaveVehicle();
|
player.leaveVehicle();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ public class AsynchronousUnregister implements AsynchronousProcess {
|
|||||||
public void adminUnregister(CommandSender initiator, String name, Player player) {
|
public void adminUnregister(CommandSender initiator, String name, Player player) {
|
||||||
if (dataSource.removeAuth(name)) {
|
if (dataSource.removeAuth(name)) {
|
||||||
performPostUnregisterActions(name, player);
|
performPostUnregisterActions(name, player);
|
||||||
if (player != null) velocitySender.sendAuthMeVelocityMessage(player, VMessageType.FORCE_UNREGISTER);
|
velocitySender.sendAuthMeVelocityMessage(player, VMessageType.FORCE_UNREGISTER);
|
||||||
bukkitService.createAndCallEvent(isAsync -> new UnregisterByAdminEvent(player, name, isAsync, initiator));
|
bukkitService.createAndCallEvent(isAsync -> new UnregisterByAdminEvent(player, name, isAsync, initiator));
|
||||||
if (initiator == null) {
|
if (initiator == null) {
|
||||||
logger.info(name + " was unregistered");
|
logger.info(name + " was unregistered");
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
package fr.xephi.authme.service;
|
package fr.xephi.authme.service;
|
||||||
|
|
||||||
import com.github.Anon8281.universalScheduler.UniversalRunnable;
|
import com.github.Anon8281.universalScheduler.UniversalRunnable;
|
||||||
import com.github.Anon8281.universalScheduler.UniversalScheduler;
|
|
||||||
import com.github.Anon8281.universalScheduler.scheduling.tasks.MyScheduledTask;
|
import com.github.Anon8281.universalScheduler.scheduling.tasks.MyScheduledTask;
|
||||||
import fr.xephi.authme.AuthMe;
|
import fr.xephi.authme.AuthMe;
|
||||||
import fr.xephi.authme.initialization.SettingsDependent;
|
import fr.xephi.authme.initialization.SettingsDependent;
|
||||||
import fr.xephi.authme.settings.Settings;
|
import fr.xephi.authme.settings.Settings;
|
||||||
import fr.xephi.authme.settings.properties.PluginSettings;
|
import fr.xephi.authme.settings.properties.PluginSettings;
|
||||||
|
import fr.xephi.authme.util.Utils;
|
||||||
import org.bukkit.BanEntry;
|
import org.bukkit.BanEntry;
|
||||||
import org.bukkit.BanList;
|
import org.bukkit.BanList;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
@@ -38,7 +38,7 @@ public class BukkitService implements SettingsDependent {
|
|||||||
/** Number of ticks per minute. */
|
/** Number of ticks per minute. */
|
||||||
public static final int TICKS_PER_MINUTE = 60 * TICKS_PER_SECOND;
|
public static final int TICKS_PER_MINUTE = 60 * TICKS_PER_SECOND;
|
||||||
/** Whether the server is running Folia. */
|
/** Whether the server is running Folia. */
|
||||||
private static final boolean isFolia = UniversalScheduler.isFolia;
|
private static final boolean IS_FOLIA = Utils.isClassLoaded("io.papermc.paper.threadedregions.RegionizedServer");
|
||||||
private final AuthMe authMe;
|
private final AuthMe authMe;
|
||||||
private boolean useAsyncTasks;
|
private boolean useAsyncTasks;
|
||||||
|
|
||||||
@@ -68,7 +68,7 @@ public class BukkitService implements SettingsDependent {
|
|||||||
* @param delay Delay in server ticks before executing task
|
* @param delay Delay in server ticks before executing task
|
||||||
*/
|
*/
|
||||||
public void scheduleSyncDelayedTask(Runnable task, long delay) {
|
public void scheduleSyncDelayedTask(Runnable task, long delay) {
|
||||||
if (isFolia) {
|
if (IS_FOLIA) {
|
||||||
runTaskLater(task, delay);
|
runTaskLater(task, delay);
|
||||||
} else {
|
} else {
|
||||||
Bukkit.getScheduler().runTaskLater(authMe, task, delay); // We must do this to keep compatibility
|
Bukkit.getScheduler().runTaskLater(authMe, task, delay); // We must do this to keep compatibility
|
||||||
@@ -98,7 +98,7 @@ public class BukkitService implements SettingsDependent {
|
|||||||
* @throws IllegalArgumentException if task is null
|
* @throws IllegalArgumentException if task is null
|
||||||
*/
|
*/
|
||||||
public void runTask(Runnable task) {
|
public void runTask(Runnable task) {
|
||||||
if (isFolia) {
|
if (IS_FOLIA) {
|
||||||
getScheduler().runTask(task);
|
getScheduler().runTask(task);
|
||||||
} else {
|
} else {
|
||||||
Bukkit.getScheduler().runTask(authMe, task);
|
Bukkit.getScheduler().runTask(authMe, task);
|
||||||
@@ -106,7 +106,7 @@ public class BukkitService implements SettingsDependent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void runTask(Entity entity, Runnable task) {
|
public void runTask(Entity entity, Runnable task) {
|
||||||
if (isFolia) {
|
if (IS_FOLIA) {
|
||||||
getScheduler().runTask(entity, task);
|
getScheduler().runTask(entity, task);
|
||||||
} else {
|
} else {
|
||||||
Bukkit.getScheduler().runTask(authMe, task);
|
Bukkit.getScheduler().runTask(authMe, task);
|
||||||
@@ -122,7 +122,7 @@ public class BukkitService implements SettingsDependent {
|
|||||||
* @param task the task to be run
|
* @param task the task to be run
|
||||||
*/
|
*/
|
||||||
public void runTaskIfFolia(Runnable task) {
|
public void runTaskIfFolia(Runnable task) {
|
||||||
if (isFolia) {
|
if (IS_FOLIA) {
|
||||||
runTask(task);
|
runTask(task);
|
||||||
} else {
|
} else {
|
||||||
task.run();
|
task.run();
|
||||||
@@ -134,7 +134,7 @@ public class BukkitService implements SettingsDependent {
|
|||||||
* @param task the task to be run
|
* @param task the task to be run
|
||||||
*/
|
*/
|
||||||
public void runTaskIfFolia(Entity entity, Runnable task) {
|
public void runTaskIfFolia(Entity entity, Runnable task) {
|
||||||
if (isFolia) {
|
if (IS_FOLIA) {
|
||||||
runTask(entity, task);
|
runTask(entity, task);
|
||||||
} else {
|
} else {
|
||||||
task.run();
|
task.run();
|
||||||
@@ -146,7 +146,7 @@ public class BukkitService implements SettingsDependent {
|
|||||||
* @param task the task to be run
|
* @param task the task to be run
|
||||||
*/
|
*/
|
||||||
public void runTaskIfFolia(Location location, Runnable task) {
|
public void runTaskIfFolia(Location location, Runnable task) {
|
||||||
if (isFolia) {
|
if (IS_FOLIA) {
|
||||||
runTask(location, task);
|
runTask(location, task);
|
||||||
} else {
|
} else {
|
||||||
task.run();
|
task.run();
|
||||||
@@ -196,7 +196,7 @@ public class BukkitService implements SettingsDependent {
|
|||||||
* @throws IllegalArgumentException if task is null
|
* @throws IllegalArgumentException if task is null
|
||||||
*/
|
*/
|
||||||
public void runTaskAsynchronously(Runnable task) {
|
public void runTaskAsynchronously(Runnable task) {
|
||||||
if (isFolia) {
|
if (IS_FOLIA) {
|
||||||
getScheduler().runTaskAsynchronously(task);
|
getScheduler().runTaskAsynchronously(task);
|
||||||
} else {
|
} else {
|
||||||
Bukkit.getScheduler().runTaskAsynchronously(authMe, task);
|
Bukkit.getScheduler().runTaskAsynchronously(authMe, task);
|
||||||
|
|||||||
@@ -144,9 +144,7 @@ public class TeleportationService implements Reloadable {
|
|||||||
} else if (settings.getProperty(TELEPORT_UNAUTHED_TO_SPAWN)) {
|
} else if (settings.getProperty(TELEPORT_UNAUTHED_TO_SPAWN)) {
|
||||||
if (settings.getProperty(RestrictionSettings.SAVE_QUIT_LOCATION)) {
|
if (settings.getProperty(RestrictionSettings.SAVE_QUIT_LOCATION)) {
|
||||||
Location location = buildLocationFromAuth(player, auth);
|
Location location = buildLocationFromAuth(player, auth);
|
||||||
Location playerLoc = player.getLocation();
|
if (location.equals(player.getLocation())) return;
|
||||||
if (location.getX() == playerLoc.getX() && location.getY() == location.getY() && location.getZ() == playerLoc.getZ()
|
|
||||||
&& location.getWorld() == playerLoc.getWorld()) return;
|
|
||||||
logger.debug("Teleporting `{0}` after login, based on the player auth", player.getName());
|
logger.debug("Teleporting `{0}` after login, based on the player auth", player.getName());
|
||||||
teleportBackFromSpawn(player, location);
|
teleportBackFromSpawn(player, location);
|
||||||
} else if (limbo != null && limbo.getLocation() != null) {
|
} else if (limbo != null && limbo.getLocation() != null) {
|
||||||
|
|||||||
@@ -36,8 +36,7 @@ public final class PluginSettings implements SettingsHolder {
|
|||||||
|
|
||||||
@Comment({
|
@Comment({
|
||||||
"Message language, available languages:",
|
"Message language, available languages:",
|
||||||
"https://github.com/AuthMe/AuthMeReloaded/blob/master/docs/translations.md",
|
"https://github.com/AuthMe/AuthMeReloaded/blob/master/docs/translations.md"
|
||||||
"Example: zhcn, en"
|
|
||||||
})
|
})
|
||||||
public static final Property<String> MESSAGES_LANGUAGE =
|
public static final Property<String> MESSAGES_LANGUAGE =
|
||||||
newProperty("settings.messagesLanguage", "en");
|
newProperty("settings.messagesLanguage", "en");
|
||||||
|
|||||||
Binary file not shown.
@@ -4,7 +4,7 @@ website: http://github.com/HaHaWTH/AuthMeReReloaded/
|
|||||||
description: A fork of AuthMeReloaded that contains bug fixes
|
description: A fork of AuthMeReloaded that contains bug fixes
|
||||||
main: ${pluginDescription.main}
|
main: ${pluginDescription.main}
|
||||||
folia-supported: true
|
folia-supported: true
|
||||||
version: 5.6.0-FORK-b49
|
version: 5.6.0-FORK-b47
|
||||||
api-version: 1.13
|
api-version: 1.13
|
||||||
softdepend:
|
softdepend:
|
||||||
- Vault
|
- Vault
|
||||||
|
|||||||
Reference in New Issue
Block a user