Commit Graph

1266 Commits

Author SHA1 Message Date
b0862d2d16 Use Spotless for license formatting 2023-01-01 18:46:33 -05:00
d715e17acb Bump copyright date to 2023 2023-01-01 17:56:00 -05:00
d72d707b1c Convert Velocity buildscripts to Kotlin DSL (#918)
Spiritually indebted to #518 and @alexstaeding.

There's a minor break - we're going up to 3.2.0-SNAPSHOT as the API now compiles against Java 11. But this is more academic in practice.
2023-01-01 17:53:37 -05:00
ffa4c95435 Fix GS4 query reloading logic
Closes #915. This isn't a fatal error, but it's a clear papercut.
2023-01-01 13:07:31 -05:00
ef7ad150c2 Add plugin logger name to file logger configuration
Closes #903
2023-01-01 11:33:37 -05:00
4ef9a33f4c Add native info to dump 2023-01-01 11:30:39 -05:00
118c4b451c Save /velocity dump output into a local file instead.
dump.velocitypowered.com is going to go offline on January 15th.
2023-01-01 11:26:45 -05:00
294199e270 Fix typo in #900 2022-12-19 17:31:02 +08:00
1ec77eb123 Fix #887
Velocity always handled ALL as an alias of ONLINE, so handle ONLINE the same way.
2022-12-11 23:29:57 -05:00
495b796816 Fix grammar in obscure error message (#880)
The title really says it all. Change ``The forwarding-secret-file does not exists.`` to ``The forwarding-secret-file does not exist.``
2022-12-11 22:40:58 -05:00
97770cd1a6 Reduce Spam from the TabList by not sending every package multiple times (#902)
* Reduce Spam from the TabList by not sending every package multiple times

VelocityTabList#processUpsert called entry.setX which will create a package and send it to the client.
BackendPlaySessionHandler doesn't return true for those packages, therefore the package for tab list updates will be send two times.

* Cleanup TabList#buildEntry, added listed status to Entry builder
2022-12-09 13:40:30 -05:00
fa17a5d4cc Fix command packet (#900)
fix https://github.com/PaperMC/Velocity/issues/898
2022-12-08 18:13:57 +00:00
d3e5dc1354 Fix TitleTimes packet ID for Minecraft 1.19.3 (#899) 2022-12-08 17:03:16 +00:00
361f6335ac Merge pull request #897 from RoccoDev/fix/1.19.3-unsigned-encode
chat: fix encoding for changed unsigned messages
2022-12-07 13:57:40 -05:00
3ae3af45bc chat: fix unsigned encoding for changed messages 2022-12-07 19:51:12 +01:00
2a0d657a0c Fix profile presence 2022-12-07 13:26:01 -05:00
cc7d199f47 Merge pull request #895 from RoccoDev/fix/1.19.3-legacy-cancel
regression: fix legacy chat cancelling on < 1.19
2022-12-07 13:19:07 -05:00
039799b2d3 legacy-chat: fix cancel on < 1.19 2022-12-07 19:14:32 +01:00
0250d1ef8a Fix null timestamps being passed to timekeeper improperly. 2022-12-07 12:56:27 -05:00
b504e0857c Update to 1.19.3-rc3 (#893) 2022-12-07 14:12:48 +01:00
7d77bfb53c Update select dependencies 2022-09-21 00:48:21 -04:00
f6b032cb04 Fix misrenamed illegal chat chars translation key 2022-09-15 21:48:28 +01:00
cae41c33a1 Fix connection error spamming (#847)
* Fix "pointers" for players never being used lol

* Added Platform Facet API to add Type pointers

* Remove duplicate

* Fix some connection things

* Make checkstyle happy?
2022-08-19 22:46:57 -04:00
47cd9faf65 A char can be 3 bytes (#843)
BungeeCord reference: b5365dcba7
2022-08-19 22:45:58 -04:00
3293f7a9eb Fix #828 (#829)
Co-authored-by: kyngs <kyngs@users.noreply.github.com>
2022-08-09 15:03:03 -04:00
6496983ca3 Fix cancelling commands on <1.19 clients (#827) 2022-08-08 00:42:31 -04:00
62bd58d356 Fix decoding of unsigned messages on 1.19.1 (#814) 2022-08-03 11:20:25 -04:00
8344082b1a Fix chat decoding for legacy versions (#815) 2022-08-03 09:19:30 -04:00
88a5abd26c Fix command packet wrong mark as unsigned (#810)
Dropping previousMessages will break the chat chain
2022-08-03 10:42:43 +00:00
e5b84ecf1d Update/chat order queue (#801)
* Implement chat queue for ordered chat.

* Update system to handle spoofed chat as well.

* Fix checkstyle erroring on bad indentation.

* Fix ChatQueue to use whenComplete instead of thenRun

* Merge upstream.

* Checkstyle

* Deny denied commands.
2022-08-02 20:50:01 -04:00
1a3fba4250 Update to 1.19.1 (#772)
* 1.19.1-rc1

* More signature changes

* Further 1.19.1 changes

I also started on the checkstyle update, see the developers notes
for the rest I haven't gotten around to fixing yet.

* Fix checkstyle

* Checkstyle imports

* Fix logic error

* Changes 1.19.1-pre2

* 1.19-pre3

* Progress, some parts still WIP

* Overlooked changes

* Fix ServerData

* Fix ServerLogin send check

* Workaround the broken behavior of "No Chat Reports"

Note that if we ever choose to enforce chat signatures, then the mod will just break again... not our fault if we do that, you get what you pay for.

* more

Co-authored-by: Shane Freeder <theboyetronic@gmail.com>
Co-authored-by: Andrew Steinborn <git@steinborn.me>
2022-07-30 19:30:03 -04:00
6be344d919 Decode ServerData packet (#799) 2022-07-19 15:34:27 +02:00
e8bf6ab522 Fix missing assignment of playerKey in ServerLogin constructor (#776) 2022-06-26 13:24:20 +01:00
c03d7e259c Validate that we have a target 2022-06-25 21:38:55 +01:00
662fbc4e3c Implement the ServerData packet by firing ProxyPingEvent (#771)
* Implement the ServerData packet by firing ProxyPingEvent

Mojang introduced the enable-status server property with Minecraft 1.19, which if enabled causes servers to close the connection when a client tries to ping them. Mojang wants to show the MOTD and favicon on the server select screen for those who manage to log in, so we need to implement this packet as well.

The good news is that we can send this packet as many times as needed on the same connection

This matches the behavior of pinging the server. This is a minor, but completely backwards-compatible, API breakage: Player inherits from InboundConnection so we do not have to change ProxyPingEvent, however plugins not expecting a Player might get confused.

* typo
2022-06-23 23:59:13 -04:00
86c65f3910 adding equals and hashcode in ClientSettings, ClientSettingsWrapper and SkinParts (#765)
* adding equals and hashcode in ClientSettings, ClientSettingsWrapper and SkinParts

* fixing format
2022-06-22 23:37:38 -04:00
0caff79bf8 hard over system message chat type for 1.19+ 2022-06-22 05:30:27 +01:00
1a1391a519 Tablist-changes for 1.19 (#761)
This change helps ensure player signatures are propagated correctly.
Signatures should never be removed, so to compensate for legacy plugins and for the
proxy api function we have to enforce this.
2022-06-19 18:19:32 +02:00
508c1edb3a Fixed possible IOException if forwarding-secret-file path is a directory (#743)
* Fixed possible IOException if path is a directory

* Removed File usage

* Catch possible NumberFormatException on invalid config version

!Files.exists -> Files.notExists
2022-06-18 20:06:51 -04:00
74edac9642 Fixed BungeeGuard support (#739) 2022-06-09 18:08:55 +01:00
64bfa285fe Finish Modern forwarding v2 2022-06-09 16:27:25 +02:00
3501969960 move force key checking into a system property (#736) 2022-06-09 12:07:24 +01:00
da52d09338 Add config support for using file as forwarding secret (#712)
* add config support for using file as forwarding secret

* deprecate forwarding-secret and change default to forwarding-secret-file

* change forwarding-secret-file handling to a versioned system
2022-06-09 03:28:14 -04:00
e45ca5f357 Improved Scheduler API (#696)
* Improved Scheduler API

- Added `Scheduler#builder(plugin)`
This method allows a more simplified builder while maintaining the main requirement of the executor plugin
- Added `Scheduler#taskByPlugin(plugin)`
Allows to obtain the tasks that a plugin has sent to execute and that are currently active
- Added `TaskBuilder#task(Consumer<SchuledTask>)`
Allows to specify a task with access to the task itself with the ability to cancel itself

* Applied requested changes

- Removed tasks builder method
- Added `Scheduler#buildTask(plugin, Consumer<ScheduledTask>)`

* Removed some unused imports

* Applied suggested change

* Fix possible test bug

* Applied more suggested changes

* Fixed tests inside tasks
2022-06-09 03:27:06 -04:00
04d3ed6820 Fix unsigned chat breaking decode on PlayerChat. (#730) 2022-06-08 00:12:56 -04:00
c2b237f196 DRY - one function to create respawn packets from JoinGame packets 2022-06-07 23:35:43 -04:00
c45597c885 Hotfix registry and argument ser/de (#729)
* Hotfix argument parser missing

* Fix join game registry announcing.
2022-06-07 23:23:50 -04:00
28b6f6dcef Hotfix/patch modern forwarding v2 (#727) 2022-06-07 21:11:53 -04:00
d97ed956a7 Update/1.19 (#726)
Co-authored-by: FivePB <admin@fivepb.me>
2022-06-07 21:00:24 -04:00
3ae93875b8 fix missing server info in some events when kicked from current server (#703) 2022-05-08 23:08:50 -04:00