3
0
Mirror von https://github.com/PaperMC/Velocity.git synchronisiert 2024-11-17 05:20:14 +01:00
Commit graph

377 Commits

Autor SHA1 Nachricht Datum
Andrew Steinborn
3b1009caba Prepare for 1.16.4 2020-10-11 20:15:29 -04:00
Andrew Steinborn
dc48eb97f9 Start publishing velocity-natives module
Note that this will remain internal API for Velocity and the publication of the module does not necessarily indicate that they will be stable.
2020-09-23 01:03:18 -04:00
Frank van der Heijden
2b6c271cc7
Add ability to check for command alias existence in api module 2020-09-13 19:11:40 +02:00
Andrew Steinborn
3a4aa4a25c Minecraft 1.16.3 2020-09-10 10:47:25 -04:00
Andrew Steinborn
540541842a Minecraft 1.16.3-rc1 2020-09-07 10:06:49 -04:00
Andrew Steinborn
5d287306c2 Small code cleanups 2020-09-01 03:25:15 -04:00
Andrew Steinborn
764c8ed3e5 Fix compile error
While we're at it, change the newly-introduced shutdown API to use a generic Adventure component instead.
2020-08-30 07:09:52 -04:00
Andrew Steinborn
1f621300f6 Revert #338
This is creating more problems than it actually solves
2020-08-22 02:40:35 -04: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
26f3cb43c7 Clean up some Adventure support code, implement another sendMessage overload 2020-08-16 14:02:04 -04:00
Andrew Steinborn
1717d7f9b4 Add SimpleCommand.Invocation#alias function.
It seems like this ability is generally useful outside RawCommand, so let's add this to SimpleCommand too.
2020-08-15 16:41:35 -04:00
Andrew Steinborn
c0af5668b9
Merge pull request #338 from xxDark/read-timeout
Make initial read timeout configurable
2020-08-10 23:05:52 -04:00
Andrew Steinborn
ab10b6de1e Cross our fingers and hope this is 1.16.2 2020-08-10 21:46:13 -04:00
Andrew Steinborn
1a31b99701 1.16.2-rc2 2020-08-10 12:53:23 -04:00
Andrew Steinborn
ba66d15b1d 1.16.2-rc1 2020-08-07 13:35:31 -04:00
Andrew Steinborn
b34b198064 1.16.2-pre3 2020-08-06 15:08:50 -04:00
Andrew Steinborn
d79c1d0407 Port of #325 for Velocity 1.1.0
Co-authored-by: Five (Xer) <admin@xernium.com>
2020-08-05 18:13:16 -04:00
xxDark
e94778c149
Resolve code style issue 2020-08-05 21:31:51 +03:00
Andrew Steinborn
3beaeb2df7
Merge pull request #341 from alexstaeding/feature/shutdown-api
Add shutdown methods to ProxyServer
2020-08-05 11:35:38 -04:00
Jacob Allen
76173e4145
Add PRE_SERVER_JOIN to DisconnectEvent#LoginStatus (#346) 2020-08-04 16:30:17 -04:00
Alexander Staeding
c963343e27
Add dataAsInputStream() to PluginMessageEvent 2020-08-03 00:52:54 +02:00
Alexander Staeding
190bef375a
Add shutdown methods to ProxyServer 2020-07-30 21:48:58 +02:00
xDark
b79f6ad827 Make initial read timeout configurable 2020-07-29 16:59:39 +03:00
Hugo Manrique
6cc6e0f641
New command API (#330) 2020-07-29 03:43:16 -04:00
Andrew Steinborn
3ac403539d Bump dependencies:
Gson 2.8.5 -> 2.8.6
text 3.0.3 -> 3.0.4
log4j 2.11.2 -> 2.13.3
Netty 4.1.50.Final -> 4.1.51.Final
Configurate 3.6 -> 3.7
2020-07-21 21:00:38 -04:00
Andrew Steinborn
cb261c6513 Better handle not failing over on a read timeout
The existing Velocity logic was pretty optimistic, hoping the player connection would stay alive long enough to accept a connection to another server. Now, if we notice a read timeout on the server end, we'll treat the disconnect as "unsafe" and disconnect the player immediately.

I've added a configuration option to solve the issue in the way BungeeCord does it. This could cause issues with servers that extensively modify the server pipeline and could degrade the user experience, though. Let's try this more conservative and see if it helps,
2020-07-20 21:55:33 -04:00
Andrew Steinborn
2296a9d8dd Fix compile error caused by adventure changes 2020-07-16 11:50:48 -04:00
Andrew Steinborn
bcab3be2e2 Fix Checkstyle error 2020-07-14 21:31:16 -04:00
Mariell Hoversholm
9c8c851d12
Add async command suggestions 2020-07-15 00:28:22 +02:00
Andrew Steinborn
4c3d9de5fe Add ServerPostConnectEvent as a less confusing (and non-blocking) alternative to ServerConnectedEvent 2020-07-12 16:13:04 -04:00
Andrew Steinborn
d47462c606 Fix accidential deprecation 2020-07-12 11:42:44 -04:00
Andrew Steinborn
6e84261166 Merge branch 'dev/1.1.0' into adventure-api 2020-07-12 01:49:08 -04:00
Andrew Steinborn
86259f788f Adjust for recent adventure API changes. 2020-07-11 12:00:54 -04:00
Andrew Steinborn
81aed2cd1d Get the Nexus credentials from the environment 2020-07-04 03:36:39 -04:00
Andrew Steinborn
4469a89aaa Point all new Maven artifact deploys to Nexus 2020-07-04 03:19:57 -04:00
Andrew Steinborn
079b352c97 Add a new loginstatus for CANCELLED_BY_USER_BEFORE_COMPLETE 2020-07-03 17:48:20 -04:00
Andrew Steinborn
801ae4f33d Add one more case to disconnectedDuringLogin() 2020-07-03 17:26:11 -04:00
Andrew Steinborn
5285a3c155 Remove AdventureCompact in favor of the text 3.x serializer added in KyoriPowered/adventure-platform#23 2020-06-29 23:34:59 -04:00
Andrew Steinborn
1938013ab2 Make DisconnectEvent more sane
This is a step towards fixing #289 and removing some less-than-optimal behavior in plugins I maintain internally.
2020-06-29 11:17:08 -04:00
Andrew Steinborn
5b9dbb74c9 Fix up some annotations 2020-06-29 10:42:01 -04:00
Andrew Steinborn
22afd1cf41 Since we're deprecating stuff, mark toml4j as deprecated 2020-06-28 23:25:09 -04:00
Andrew Steinborn
70698246bf Get everything compiling and Checkstyle clean 2020-06-28 23:20:46 -04:00
Andrew Steinborn
5c02d6b007 RegisteredServer and ProxyServer now implement MultiAudience 2020-06-28 22:01:45 -04:00
Andrew Steinborn
8ef2835a47 Fix API breaking change, deprecate ProxyAudience 2020-06-28 21:44:44 -04:00
Andrew Steinborn
70a989e955 Minor cleanup and add some missing Deprecated tags 2020-06-28 21:29:25 -04:00
Andrew Steinborn
2e7a598916 Initial commit of adventure-adapted Velocity API. 2020-06-28 21:23:01 -04:00
Andrew Steinborn
7e1f01f13a Bump Guice version to support Java 14 plugins 2020-06-26 23:44:08 -04:00
Andrew Steinborn
2f11c22003 Add Minecraft 1.16.1 compatibility 2020-06-24 10:07:24 -04:00
Andrew Steinborn
780e1c8be5 Handle duplicates from server pings gracefully 2020-06-23 23:03:19 -04:00
Andrew Steinborn
6ec2ad3c7a Anticipatory bump to final Minecraft 1.16 version 2020-06-22 20:25:38 -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
FivePB (Xer)
83ba7d6051
Changes 1.16-rc1 2020-06-18 18:24:39 +02:00
Five (Xer)
ee64b97b8e
Changes 1.16-pre7 2020-06-16 18:39:51 +02:00
Five (Xer)
a1ab29186b
Changes 1.16-pre6 2020-06-16 17:56:56 +02:00
Five (Xer)
6577b08bdd
Changes 1.16-pre5 2020-06-13 11:26:51 +02:00
Five (Xer)
78b442a852
Changes 1.16-pre4 and Logic fixes 2020-06-11 23:39:16 +02:00
Five (Xer)
101a6a58dd
Changes 1.16-pre3 2020-06-10 21:00:18 +02:00
Lechner Markus
368d50b455 Rework Dimension Registry 2020-06-05 15:22:55 +02:00
Five (Xer)
009f207883
More progress 2020-06-04 21:21:54 +02:00
Andrew Steinborn
b028d9ca8f Use standard Guava annotation 2020-05-28 10:44:42 -04:00
Andrew Steinborn
cb99b184ed Allow plugins to mutate available commands sent to the client.
This is the first unstable API being introduced and is primarily to get feedback on the system.
2020-05-28 07:14:49 -04:00
Andrew Steinborn
305949487e Add @UnstableApi annotation. Resolves #313 2020-05-28 07:05:19 -04:00
Five (Xer)
d37b6a361c
Snapshot 20w21a 2020-05-23 00:18:36 +02:00
Mark Vainomaa
21f03d5d50
Add prevent-proxy-connections option to make sending client IP to Mojang toggleable 2020-05-08 21:16:12 +03:00
Leymooo
4b4ed02e8d fix build 2020-04-30 01:00:12 +03:00
Leymooo
d096eb3429 update class javadoc 2020-04-29 22:15:33 +03:00
Leymooo
9d6689f64a forgot annotation 2020-04-27 13:12:03 +03:00
Leymooo
26bf94f08f fix typos, update javadocs 2020-04-27 13:09:04 +03:00
Leymooo
c0b8e9d646 add async methods, also add separate methods which will call event and which will not call event 2020-04-27 01:05:57 +03:00
Leymooo
6555e0e337 Add CommandExecuteEvent 2020-04-27 00:04:12 +03: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
24c9fc0ef1 Relax GameProfileRequestEvent#setGameProfile to allow faking even in online-mode 2020-04-19 09:20:03 -04:00
Andrew Steinborn
a5350c6822 Deal with potentially nullable player sample entries 2020-02-13 13:32:47 -05:00
Andrew Steinborn
7d1770d37e Deal with potentially nullable player sample entries 2020-02-13 13:32:22 -05:00
Andrew Steinborn
a1577dd8a5 Minecraft 1.15.2 2020-01-21 13:28:37 -05:00
Andrew Steinborn
6e41ce7f15 Minecraft 1.15.2 2020-01-21 13:28:27 -05:00
Andrew Steinborn
fb0446f4fc Add DisconnectEvent#disconnectedDuringLogin() 2019-12-24 23:56:39 -05:00
Andrew Steinborn
1e50615993 Minecraft 1.15.1 2019-12-17 13:58:44 -05:00
Andrew Steinborn
4c09024952 Minecraft 1.15.1 2019-12-17 13:57:23 -05:00
Andrew Steinborn
b56302b17e Minecraft 1.15 (backport from 1.1.0) 2019-12-10 12:22:24 -05:00
Andrew Steinborn
07c2024307 Minecraft 1.15 2019-12-10 11:47:10 -05:00
Andrew Steinborn
b5aeeab2a8
Minecraft 1.15-pre7 2019-12-09 18:00:08 -05:00
Andrew Steinborn
0b6fc06e67 Initial 1.15-pre2 support 2019-11-26 15:10:22 -05:00
Andrew Steinborn
d2b8271eb4 Allow running Velocity without any servers.
This is a niche setup, however if your network is 100% dynamically configured, this is a handy feature to have available.

To support this functionality, a new PlayerChooseInitialServerEvent event was added to allow the initial server to connect to be changed as desired.
2019-11-16 23:17:09 -05:00
Andrew Steinborn
09d33de03e
Merge pull request #256 from Gabik21/previous-server-in-event
Add previous server to ServerConnectedEvent
2019-10-31 19:51:32 -04:00
Gabik21
bc8756f715
Readd old constructor 2019-10-31 19:31:47 +01:00
Gabik21
9498376bfa
Add missing info to constructor doc 2019-10-28 21:23:28 +01:00
Gabik21
ad291803ea
Add missing JavaDoc 2019-10-28 21:18:53 +01:00
Gabik21
802251d273
Add previous server to toString method 2019-10-28 20:49:11 +01:00
Gabik21
7c0a402cca
Add previous server to ServerConnectedEvent 2019-10-28 14:45:13 +01:00
james58899
bd35c6835e
Allow set redirect message 2019-10-17 08:32:50 +08:00
Andrew Steinborn
b18f65fe0a Allow building on Java 11 (and set Travis to build on OpenJDK 11) 2019-10-04 17:09:41 -04:00
Andrew Steinborn
47ada83700 Add modified FastUUID 2019-09-26 22:27:08 -04:00
Andrew Steinborn
260f7f575a ServerInfo is now comparable 2019-09-07 17:06:06 -04:00
Leymooo
fd367c6efd Add method to determine if player is in OnlineMode 2019-09-04 01:44:40 +03:00
Gabik21
18a56d8b1d
Merge remote-tracking branch 'upstream/dev/1.1.0' 2019-08-29 19:47:04 +02:00
Andrew Steinborn
661ec3103a Bump to Guice 4.2.2 for Java 11 plugin support 2019-08-09 15:39:46 -04:00
Andrew Steinborn
e3e7b726e0 Bump to Guice 4.2.2 for Java 11 plugin support 2019-08-09 15:38:36 -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
2d9227ccf0 Fix Checkstyle 2019-08-05 10:51:45 -04:00
Andrew Steinborn
b4e62443c9 Add arbitrary chat tab complete event. Fixes #236 2019-08-05 10:30:55 -04:00
Jamie Campbell
5d37a7f96e 1.14.4 support 2019-07-26 01:34:02 -04:00
Jamie Campbell
950104850e 1.14.4 support 2019-07-19 17:50:15 +01:00
Gabik21
5c314c9068
Add 1.7 Protocol Support 2019-07-01 08:56:22 +02:00
Andrew Steinborn
f0ba7e1eea Add method to check if an entry already exists in the tab list. 2019-07-01 00:07:20 -04:00
Andrew Steinborn
275685f45f Merge branch 'master' into dev/1.1.0
# Conflicts:
#	build.gradle
2019-06-30 23:52:22 -04:00
Leymooo
de4f5e32dd 1.14.3 2019-06-24 19:37:17 +03:00
Andrew Steinborn
81840abc86 Enforce at least one parameter in CommandManager#register()
The old register method has been deprecated.
2019-06-22 21:13:20 -04:00
Andrew Steinborn
ed8209cfd1 Merge branch 'master' into dev/1.1.0 2019-06-22 21:01:46 -04:00
Leymooo
d0745acde1 1.14.3-pre4 2019-06-22 14:11:47 +03:00
Andrew Steinborn
c55ab2c908 Make sure to include the right repo 2019-06-18 07:48:03 -04:00
Andrew Steinborn
8a45074eb2 Include Configurate 2019-06-18 07:45:45 -04:00
Andrew Steinborn
04a23e3622 Introduce raw String-based command API 2019-06-18 00:13:49 -04:00
Andrew Steinborn
8d61e7ffd0 Removed redundant (non-)nullable annotations from boss bar. 2019-06-02 17:57:31 -04:00
kashike
0a53343547 Rename some bossbar-related fields and methods 2019-06-02 14:47:41 -07:00
MrIvanPlays
20b34447f8 Add BossBar API (#213) 2019-06-02 15:02:43 -04:00
Leymooo
85c6238d68 1.14.2 support 2019-05-27 17:20:42 +03:00
Andrew Steinborn
b0b445c044 Fix Javadoc link for text API 2019-05-15 19:20:51 -04:00
Andrew Steinborn
fc9e2d576d Update for Minecraft 1.14.1 2019-05-13 12:12:08 -04:00
Andrew Steinborn
37999ed32e Support 1.14-pre2 2019-05-10 02:51:00 -04:00
kashike
3800610f66 Bump text to 3.0.0 2019-05-06 19:34:53 -07: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
545966a4e7 Minecraft 1.14 2019-04-23 13:46:49 -04:00
Andrew Steinborn
21368f542c
Merge pull request #189 from Leymooo/1.14
Support for 1.14 protocol
2019-04-23 02:21:46 -04:00
Andrew Steinborn
edcd13b532 Fix Checkstyle issues 2019-04-21 02:56:29 -04:00
Andrew Steinborn
dea7c215d7 Allow empty channel names (but not namespaces). 2019-04-21 02:52:52 -04:00
Leymooo
ac192c281c 1.14-pre5 2019-04-18 22:45:17 +03:00
Andrew Steinborn
564cb99861 Add Player#getGameProfile() to make tab list plugins easier to make. 2019-03-29 15:01:52 -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
611a31b7bb Attempt to allow Eclipse to import the Gradle project. 2019-03-28 21:46:45 -04:00
Andrew Steinborn
e2fa06fa17
Merge pull request #176 from Crypnotic/master
Add matchPlayer and matchServer
2019-03-09 00:15:07 -05:00
Andrew Steinborn
c7a379ebb8 Include server that we attempted to connect to in the result. 2019-03-08 23:51:47 -05:00
Crypnotic
b35fd05d2e Add matchPlayer and matchServer 2019-03-03 09:57:19 -06:00
Andrew Steinborn
12f5bdfc48 Properly implement fallback support. 2019-02-15 15:07:38 -05:00
kashike
6d080db48e Bump text dependency to 1.12-1.6.5 to fix a deserialisation issue 2019-01-21 09:12:27 -08:00
Andrew Steinborn
89bcc9a100 Grab most of the low-hanging fruit. 2018-12-29 17:22:36 -05:00
Andrew Steinborn
c8f73ea0ab Add Javadoc to resource pack API 2018-12-29 15:37:56 -05:00
Andrew Steinborn
0ca0c2a297 Resource pack API 2018-12-29 15:21:47 -05:00
Andrew Steinborn
280563ffa0 Clarifications around plugin message API. 2018-12-29 14:25:06 -05:00
Andrew Steinborn
a2d9a9f1d8 Clarifications, same for QueryResponse. 2018-12-29 14:21:20 -05:00
Andrew Steinborn
5cf96aabdd Ensure that getting a builder from the ping will produce the same ping. 2018-12-29 14:09:30 -05:00
Andrew Steinborn
256978fc15 Solve a bunch of Checkstyle warnings. 2018-12-29 10:57:55 -05:00
Andrew Steinborn
898353640e Moving to new Jenkins setup 2018-12-24 08:23:56 -05:00
Andrew Steinborn
e979db7778 Fix some unfriendly behavior in Favicon#create(Path) 2018-12-13 19:44:59 -05:00
Andrew Steinborn
1856fb6aad ProtocolVersion#SUPPORTED_VERSIONS 2018-12-13 05:24:37 -05:00
Andrew Steinborn
853fd2226d Fix formatting in ProtocolVersion 2018-12-07 17:24:56 -05:00
Andrew Steinborn
a3bfa292c6
Merge pull request #139 from VelocityPowered/reload-command
Reload command
2018-12-01 18:04:09 -05:00
Andrew Steinborn
a9ae53e527 Introduce ConsoleCommandSource. See #155 2018-12-01 17:08:34 -05:00
Andrew Steinborn
edfdcf3d53 Document ServerPreConnectEvent more carefully. 2018-11-25 14:54:03 -05:00