13
0
geforkt von Mirrors/Velocity
Commit graph

59 Commits

Autor SHA1 Nachricht Datum
Andrew Steinborn
e14ea36150 We don't rely on kyori/event any more 2021-05-23 15:52:09 -04:00
Seppe Volkaerts
821ca02ee7 Backport Velocity Polymer's async event API, with changes.
This commit backports the event manager from Velocity Polymer, with some changes for Velocity 1.1.x API compatibility:

- All event handlers run asynchronously. (While EventTask.async() exists, it is not useful in 3.0.0, but is provided as a migration aid for Polymer.)
- Event ordering is currently limited to the 5 levels available in Velocity 1.x.x.
2021-05-23 15:39:06 -04:00
Andrew Steinborn
590f18dbe0 Convert to Java 11 compressor 2021-05-23 13:58:01 -04:00
Andrew Steinborn
c747120b20
Relicense the Velocity proxy under the terms of GPLv3 (#448) 2021-03-31 16:04:06 -04:00
Andrew Steinborn
015693090f Fix typo (thanks zml) 2021-03-21 16:17:41 -04:00
Andrew Steinborn
da54a091fb Allow the java.lang module to be opened, as a temporary Java 15+ workaround 2021-03-21 16:16:19 -04:00
Andrew Steinborn
1a768bda9d We're going to need custom hash maps after all. 2021-02-16 01:15:58 -05:00
Bastian
7a713e9379 Update bStats and migrate to new config file
This commit simplifies the Metrics class by using the new base module
from bStats. It also migrates to the new bStats config file that will
be used by plugins that integrate bStats. If a user disabled bStats in
the old config file, this setting will be copied to the new config file.
2021-02-12 20:29:07 +01:00
Andrew Steinborn
4bc76b3012 Add JUL support to log4j
Certain badly behaved plugins insist on logging with java.util.logging. Accommodate them.
2021-01-25 01:51:32 -05:00
Andrew Steinborn
523b61e0c7 Make sure unit tests actually run(!) and fix command hints 2020-12-14 14:39:39 -05:00
Andrew Steinborn
4f5c315ef8 Remove netty-resolver-dns dependency
Geyser has fixed the issue in the latest builds
2020-12-14 04:29:28 -05:00
Andrew Steinborn
991aaa31b1 Revert "Stop bundling the Netty DNS resolver, we don't use it"
This reverts commit 88a57b77df.

Breaks Geyser
2020-12-13 18:47:47 -05:00
Andrew Steinborn
88a57b77df Stop bundling the Netty DNS resolver, we don't use it 2020-12-10 06:56:19 -05:00
Andrew Steinborn
aef0e4a825 Update Netty to 4.1.55.Final. 2020-12-09 22:25:06 -05:00
Riley Park
5da085d82f
Adventure 4.3.0: Player list header/footer 2020-12-06 17:50:57 -08:00
Andrew Steinborn
89e1a07448 Try and explicitly specify Java 8 in the modules. 2020-11-06 18:52:00 -05:00
derklaro
fae1ee8373
Track some dependency updates
junit: 5.3.0-M1 -> 5.7.0
slf4j: 1.7.25 -> 1.7.30
netty: 4.1.51.Final -> 4.1.52.Final
guava: 25.1-jre -> 29.0-jre
checkerFramework: 2.7.0 -> 3.6.1
jline-terminal-jansi: 3.12.1 -> 3.16.0
fastutil: 8.2.3 -> 8.4.1
async-http-client: 2.10.4 -> 2.12.1
completable-futures: 0.3.2 -> 0.3.3
gradle-wrapper: 6.6 -> 6.6.1

BREAKING CHANGE: No breaking change
2020-09-15 13:27:16 +02:00
Andrew Steinborn
c47d25c88a Upgrade to Gradle 6.6 and use SpotBugs.
As a result, at least one real bug was fixed! Nice.
2020-08-21 19:09:04 -04:00
Andrew Steinborn
cab6919a46 Switch to adventure-nbt and fix server switching on 1.16.2-pre3 2020-08-06 17:38:52 -04:00
Andrew Steinborn
a8651f561d Update to event 4.0.0-SNAPSHOT for an optimized event path 2020-07-15 17:07:38 -04:00
Andrew Steinborn
28d2366c73 Switch Velocity from existing toml4j+homebrew TOML serializer to night-config.
This allows us to allow many more valid configurations and allows us to eliminate a bunch of ugly hacks.
2020-06-24 21:31:39 -04:00
Andrew Steinborn
91743aaa9d Merge branch 'dev/1.1.0' into future/1.16-velocity-1.1.0
# Conflicts:
#	proxy/build.gradle
2020-06-21 13:40:19 -04:00
Andrew Steinborn
ada35ff286 Merge branch 'Xernium-future/1.16' into future/1.16-velocity-1.1.0
# Conflicts:
#	.travis.yml
#	api/src/main/java/com/velocitypowered/api/network/ProtocolVersion.java
#	build.gradle
#	proxy/build.gradle
#	proxy/src/main/java/com/velocitypowered/proxy/VelocityServer.java
#	proxy/src/main/java/com/velocitypowered/proxy/connection/backend/VelocityServerConnection.java
#	proxy/src/main/java/com/velocitypowered/proxy/connection/client/ClientPlaySessionHandler.java
#	proxy/src/main/java/com/velocitypowered/proxy/connection/client/ConnectedPlayer.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/netty/DiscardHandler.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/ProtocolUtils.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/StateRegistry.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/netty/MinecraftCompressDecoder.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/netty/MinecraftDecoder.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/JoinGame.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/Respawn.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/ServerLoginSuccess.java
#	proxy/src/test/java/com/velocitypowered/proxy/plugin/util/PluginDependencyUtilsTest.java
2020-06-20 23:24:32 -04:00
Andrew Steinborn
bb69481f99 Lay down foundation for cross-architecture natives
We have dropped the rarely used kqueue and replaced it with the new Netty aarch64
native. In addition, lay down the foundation for other aarch64 natives.
2020-06-04 14:59:22 -04:00
Five (Xer)
d37b6a361c
Snapshot 20w21a 2020-05-23 00:18:36 +02:00
Andrew Steinborn
1441dec367 Implement brigadier:long argument type, fixes #295 2020-04-23 16:21:44 -04:00
Andrew Steinborn
957c0dd307 Implement brigadier:long argument type, fixes #295 2020-04-23 16:21:22 -04:00
Andrew Steinborn
88641662d8 Implement brigadier:long argument type, fixes #295 2020-04-23 16:19:49 -04:00
Andrew Steinborn
19e1e05bbc Bring back kqueue transport from the dead
My PR to AsyncHttpClient was accepted and 2.10.4 was released with it
included.
2019-10-20 00:27:31 -04:00
Andrew Steinborn
ca9a4492c4 Add support for ping pass-through
By default, ping pass-through is not enabled. However, you can use
ping passthrough to pass through just mods (great for modded servers)
or everything.
2019-08-06 02:06:53 -04:00
Andrew Steinborn
d1736bf94c Move from custom HTTP client to Async HTTP Client
The most significant advantage is that Velocity gets a well-tested
HTTP client implementation which also includes a connection pool,
allowing us to avoid the overhead of TCP and TLS handshakes upon each
login.

Unfortunately, Async HTTP Client does not work with the kqueue transport.
Since almost nobody runs a production Velocity server on macOS, we have
decided to remove kqueue support. The benefits that Async HTTP Client
provides outweigh the disadvantages of not having a macOS native transport.
macOS is adequately supported by the normal NIO transport.
2019-07-26 01:29:51 -04:00
Minecrell
fde5ec36e7 Update TerminalConsoleAppender to 1.2.0
Add log4j.skipJansi to prevent Log4j from initializing a Jansi
terminal. It is redundant because this is handled by TCA and it
will be only active for a few seconds until TCA is loaded.
2019-07-21 16:51:08 +02:00
Andrew Steinborn
2b5b14e4ec Switch to new TCA version and jansi 2019-07-20 14:25:47 -04:00
Andrew Steinborn
d7e4e20c76 This is Velocity 1.0.0 2019-06-12 18:10:33 -04:00
Andrew Steinborn
e9950da0c5 Enable multi-release flag to improve Java 9+ compatibility 2019-04-25 19:12:22 -04:00
Andrew Steinborn
1661cece2d
An Easter basket bearing gifts! (#191)
* Delay switch to new server until after JoinGame is sent.

Unfortunately, in some cases (especially vanilla Minecraft) some login
disconnects are sent after ServerLoginSuccess but before JoinGame.
We've been using ServerLoginSuccess but it has caused too many problems.
Now Velocity will switch to a stripped-down version of the play session
handler until JoinGame is received. This handler does very little by
itself: it simply forwards plugin messages (for Forge) and waits for the
JoinGame packet from the server.

This is an initial version: only vanilla Minecraft 1.12.2 was tested.
However this is the way Waterfall without entity rewriting does server
switches (which, in turn, is inherited from BungeeCord).

* Move to Gradle 5 and Error Prone.
2019-04-24 14:36:49 -04:00
Andrew Steinborn
118574e535 Updated log4j and Checker Framework
Updating Checker Framework flagged numerous warnings, which have been
corrected. These probably involve type declarations lacking a nullness
annotation that appeared elsewhere.
2019-03-28 22:27:51 -04:00
Andrew Steinborn
9491f948f8 Upgraded Gradle Shadow plugin to 4.0.4 (last Gradle 4.x version) 2019-03-28 22:01:33 -04:00
Andrew Steinborn
611a31b7bb Attempt to allow Eclipse to import the Gradle project. 2019-03-28 21:46:45 -04:00
Andrew Steinborn
89bcc9a100 Grab most of the low-hanging fruit. 2018-12-29 17:22:36 -05:00
Andrew Steinborn
68fde1e795 Adapt System.(out|err) to log4j. 2018-12-29 13:30:50 -05:00
Andrew Steinborn
09fe7cee1e Include more of fastutil to allow us to use Object2IntLinkedOpenHashMap 2018-12-29 09:48:09 -05:00
Andrew Steinborn
2cedb457ce [WIP] Inject commands for Minecraft 1.13+ 2018-12-29 09:28:24 -05:00
Andrew Steinborn
3f7da5e416 Don't need to shade in checker-qual 2018-12-25 09:32:11 -05:00
Andrew Steinborn
4a872ffabe Add asynchronous DNS resolution. 2018-12-24 07:37:59 -05:00
kashike
7da847bfac Allow specifying bind port via command line
adds #140
2018-11-20 21:56:34 -08:00
Andrew Steinborn
25b5e00125 Reformat with Google code style and enforce Checkstyle.
Fixes #125
2018-10-27 23:45:36 -04:00
Andrew Steinborn
32829c5637
Checker Framework integration (#126) 2018-10-27 21:45:42 -04:00
Andrew Steinborn
3f612fb5c2 Update /velocity version so implementation stuff can be changed. 2018-10-25 01:56:41 -04:00
Alex Thomson
6ed772ba14 Add PROXY protocol support (#108) 2018-10-04 14:33:26 -04:00