Andrew Steinborn
5bf936d1b9
Add unit tests
2018-12-30 03:57:05 -05:00
Andrew Steinborn
9ce4294e6e
Fix forced hosts with SRV records.
2018-12-30 03:52:50 -05:00
Andrew Steinborn
4167b79553
Update CONTRIBUTING.md since we now enforce Checkstyle.
2018-12-30 03:31:32 -05:00
Andrew Steinborn
abc5ef7f5e
Full Checkstyle compliance at last.
2018-12-30 03:28:45 -05:00
Andrew Steinborn
20c3966f6f
Make PluginDependencyUtils test more consistent.
2018-12-30 03:05:26 -05:00
Andrew Steinborn
89bcc9a100
Grab most of the low-hanging fruit.
2018-12-29 17:22:36 -05:00
Andrew Steinborn
f898b766f1
Fix resource pack sending on <= Minecraft 1.9.4
2018-12-29 16:41:58 -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
68fde1e795
Adapt System.(out|err) to log4j.
2018-12-29 13:30:50 -05:00
Andrew Steinborn
1113266823
Merge branch '1.13-tab-complete'
2018-12-29 12:27:26 -05:00
Andrew Steinborn
0cc8a2a14f
Tab-completing arguments works now.
2018-12-29 12:24:10 -05:00
Andrew Steinborn
10c440af83
Consistently display disconnects.
2018-12-29 11:46:54 -05:00
Andrew Steinborn
5f3c31bc48
Fix Checkstyle issues.
2018-12-29 11:07:45 -05:00
Andrew Steinborn
76fc39660c
Merge branch 'master' into 1.13-tab-complete
2018-12-29 11:01:41 -05:00
Andrew Steinborn
256978fc15
Solve a bunch of Checkstyle warnings.
2018-12-29 10:57:55 -05:00
Andrew Steinborn
21b20d5dc3
Obfuscate exceptions from user connection.
2018-12-29 10:13:38 -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
b6944bbec2
Use EnumSet in StateRegistry.PacketRegistry.
2018-12-28 13:08:22 -05:00
Andrew Steinborn
9bbe25fc90
Improve efficiency of Java implementation of natives.
2018-12-28 13:02:46 -05:00
Andrew Steinborn
566a306d18
Clarity improvements.
2018-12-28 13:02:46 -05:00
Andrew Steinborn
5b4992fd9c
Update README.md
2018-12-26 03:42:21 -05:00
Andrew Steinborn
3f7da5e416
Don't need to shade in checker-qual
2018-12-25 09:32:11 -05:00
Andrew Steinborn
e34d68e81a
Resolve some warnings.
2018-12-25 01:47:36 -05:00
Andrew Steinborn
2ab84f3775
Fix missing throws clause
2018-12-24 12:19:40 -05:00
Andrew Steinborn
e690d88fa0
Generic MBEDTLS_ROOT
2018-12-24 12:18:36 -05:00
Andrew Steinborn
1c2235af5a
Explicitly find and complain about BungeeCord and Bukkit plugins.
...
They aren't supported with Velocity and will never be.
2018-12-24 09:44:26 -05:00
Andrew Steinborn
aeed2c0f87
Fix build status shield
2018-12-24 09:11:52 -05:00
Andrew Steinborn
898353640e
Moving to new Jenkins setup
2018-12-24 08:23:56 -05:00
Andrew Steinborn
4a872ffabe
Add asynchronous DNS resolution.
2018-12-24 07:37:59 -05:00
Andrew Steinborn
e71bac2028
Fix ProtocolUtil#readString() to respect Unicode.
...
This brings Velocity's to conformance to what Mojang does in
PacketDataSerializer.
2018-12-24 05:25:58 -05:00
Andrew Steinborn
267d306569
Remove all uses of (mark|reset)ReaderIndex()
...
This is removed in Netty 5.x: netty/netty#8636
2018-12-23 23:30:26 -05:00
Andrew Steinborn
41592afade
Allow native crypto to always be selected.
...
This removes the need to patch Velocity to enable the native crypto
support, if compiled.
2018-12-23 23:02:51 -05:00
Andrew Steinborn
11daaa986a
Add readable checks.
2018-12-23 18:50:02 -05:00
Andrew Steinborn
3a87e47796
Remove validation check since these usernames exist anyway.
2018-12-17 15:35:14 -05:00
Andrew Steinborn
5be64565e9
Print exception in task
2018-12-16 13:41:23 -05:00
Andrew Steinborn
ca915a44a9
Bump write mark, to see if it improves #152
2018-12-15 21:13:52 -05:00
Andrew Steinborn
4b5664ec91
Remove redundant check.
2018-12-14 15:09:52 -05:00
Andrew Steinborn
2884c2ea90
Strictly validate usernames for online mode.
2018-12-14 15:04:21 -05:00
Andrew Steinborn
10293aa542
Fix login with IPv6 and other potential security issues
2018-12-14 14:41:46 -05:00
Andrew Steinborn
cc5a7dba9b
Clean up PluginDependencyUtilsTest
2018-12-14 01:47:43 -05:00
Andrew Steinborn
e979db7778
Fix some unfriendly behavior in Favicon#create(Path)
2018-12-13 19:44:59 -05:00
Andrew Steinborn
2d54a2c15b
Record circular dependencies
2018-12-13 19:44:25 -05:00
Andrew Steinborn
1856fb6aad
ProtocolVersion#SUPPORTED_VERSIONS
2018-12-13 05:24:37 -05:00
Andrew Steinborn
da12008736
Fix more formatting issues.
2018-12-13 04:53:45 -05:00
Andrew Steinborn
0100cdd244
More comment on the plugin dependency stuff.
2018-12-13 04:50:08 -05:00
Andrew Steinborn
fc76a027de
Rewrite dependency plugin resolving.
...
Velocity now resolves plugin dependencies using a depth-first search
(DFS), instead of using Kahn's algorithm like before. This properly handles duplicate indirect dependencies.
Thanks to @creeper123123321 for noticing this issue!
2018-12-13 04:06:43 -05:00
Andrew Steinborn
f9843057ba
Anonymize all exception/connection-related errors from the user.
...
We still print these out in the logs.
2018-12-11 01:50:29 -05:00
Andrew Steinborn
7c065e5c15
Disallow all concurrent builds.
2018-12-07 17:25:04 -05:00
Andrew Steinborn
853fd2226d
Fix formatting in ProtocolVersion
2018-12-07 17:24:56 -05:00
Andrew Steinborn
ce6b061b79
Make Velocity's server list ping behavior more conformant.
...
This fixes pinging with 1.7.x and with certain ping libraries that send
the -1 protocol version.
2018-12-07 17:24:41 -05:00
Andrew Steinborn
5b9a8f160b
Fallback to plugin ID.
2018-12-02 01:59:46 -05:00
Andrew Steinborn
65ca41cdb5
Warn when using Guava Subscribe annotation.
...
Additionally, registration of listeners will not be fatal if an
exception was thrown.
2018-12-02 01:58:21 -05:00
Andrew Steinborn
458d2e4d74
Netty 4.1.32.Final
2018-12-01 17:56:45 -05:00
Andrew Steinborn
bb01dc9edf
Revert "Revert "Refactor Forge support to track the handshake & include keepalives""
...
This reverts commit dc67ee99ed .
2018-12-01 17:11:41 -05:00
Andrew Steinborn
a9ae53e527
Introduce ConsoleCommandSource. See #155
2018-12-01 17:08:34 -05:00
Andrew Steinborn
6e37fa5f33
When handling TabCompleteResponse, check if we have a command.
...
Fixes #154
2018-11-30 19:14:51 -05:00
Andrew Steinborn
d3d683dfc0
Document velocity.toml more carefully.
2018-11-30 16:17:36 -05:00
Andrew Steinborn
edfdcf3d53
Document ServerPreConnectEvent more carefully.
2018-11-25 14:54:03 -05:00
Andrew Steinborn
2ac1855868
Update Netty to 4.1.31.Final.
2018-11-25 00:43:14 -05:00
Andrew Steinborn
5eeca16f7e
Apply final modifier
2018-11-24 21:42:08 -05:00
Andrew Steinborn
a083dfd3a4
Merge branch 'master' into reload-command
...
# Conflicts:
# proxy/src/main/java/com/velocitypowered/proxy/VelocityServer.java
2018-11-24 21:41:12 -05:00
Andrew Steinborn
9a9b6f9ab3
Rename ConnectionManager#shutdown(ISA) -> ConnectionManager#close(ISA)
2018-11-24 21:38:26 -05:00
Andrew Steinborn
bb4945b513
Fix awkward disconnection issues.
2018-11-24 20:12:29 -05:00
Andrew Steinborn
d9be210fe3
Fix this up
2018-11-23 18:54:53 -05:00
Andrew Steinborn
436c1624bc
Make sure to mark the in-flight connection.
2018-11-23 18:42:14 -05:00
Andrew Steinborn
e2ad6b740a
Do not allow connections till JoinGame is received.
2018-11-23 18:42:14 -05:00
Andrew Steinborn
81d8c8374e
Fix up Checkstyle styles from PR
2018-11-23 03:23:45 -05:00
Andrew Steinborn
40e7ef784f
Enhance /velocity command. Closes #145
2018-11-22 19:29:02 -05:00
Andrew Steinborn
1515c5069b
Fix up some stuff
2018-11-21 23:36:47 -05:00
Andrew Steinborn
904e1367a2
Must count down here.
2018-11-21 16:01:58 -05:00
Andrew Steinborn
402398010e
Handle changing server addresses in config (not tested).
2018-11-21 15:57:21 -05:00
Andrew Steinborn
01503be4fa
Handle switching bind (MC and GS4).
2018-11-20 22:30:52 -05:00
Andrew Steinborn
0d94080c74
Remove unneeded null checks
2018-11-20 12:23:28 -05:00
Andrew Steinborn
99960e5dd9
Forgot this
2018-11-20 00:50:16 -05:00
Andrew Steinborn
8685b04772
Initial reload command support.
...
What is missing:
- Changing/removing servers "in-flight"
- Query stuff
- A way to preserve existing user connections while closing the old port
2018-11-19 23:46:22 -05:00
Andrew Steinborn
74ee716480
Revert "If we failed to unregister, don't fire the disconnect event"
...
This reverts commit 5822cc31d8 .
2018-11-17 17:25:49 -05:00
Andrew Steinborn
5822cc31d8
If we failed to unregister, don't fire the disconnect event
2018-11-17 17:03:31 -05:00
Andrew Steinborn
3023a90295
[BREAKING] Rename withUuid()->withId() and withId()->withUndashedId()
2018-11-17 16:40:09 -05:00
Andrew Steinborn
d1473ed938
Move registration to be performed earlier.
2018-11-17 00:04:44 -05:00
Andrew Steinborn
866067bbed
Further cleanup.
2018-11-15 20:49:30 -05:00
Andrew Steinborn
480f87a760
API breakage: Revamped some login stuff.
...
I have cleaned up some logic in the client login session handler and
revamped the GameProfile class somewhat. The most notable breaking
change is that Velocity now returns an UUID for getId() instead of an
undashed UUID, which was moved to a getUndashedId() method.
2018-11-15 19:54:55 -05:00
Andrew Steinborn
868976e09c
Add Javadoc and remove all Checkstyle issues from API and natives.
2018-11-15 19:04:39 -05:00
Andrew Steinborn
17a5afcc9a
Fix up some checkstyle stuff and include vendor in brand.
2018-11-15 02:36:48 -05:00
Andrew Steinborn
66f47ecff1
Filter out subcommands in /velocity that users can't access.
2018-11-15 02:17:59 -05:00
Andrew Steinborn
2b0daa2122
Explicitly exit the proxy if required.
2018-11-14 01:07:34 -05:00
Andrew Steinborn
5e0b9d09e7
Fix ServerPreConnectEvent not allowing overriding of servers.
2018-11-14 00:55:20 -05:00
Andrew Steinborn
6354f10874
Correct technical typo.
2018-11-14 00:29:51 -05:00
Andrew Steinborn
c94794a845
Properly register client channels.
2018-11-10 23:20:33 -05:00
Andrew Steinborn
8a7ba25097
Fix Forge server ping mod serialization. Closes #131
2018-11-08 16:57:14 -05:00
Andrew Steinborn
762d9a3efb
Fix plugin message forwarding from server to client.
2018-11-07 01:28:24 -05:00
Andrew Steinborn
73e3e1752a
Plural.
2018-11-04 10:45:55 -05:00
Andrew Steinborn
70726bd07b
Add /velocity plugins command.
2018-11-04 03:44:07 -05:00
Andrew Steinborn
a378ccdee0
Refactored rate-limiting.
...
If rate-limiting is disabled, we now use a simple stub implementation
that is simpler to reason with.
2018-11-03 17:36:00 -04:00
Andrew Steinborn
89e51bbcb9
Fix up some more code style issues.
2018-11-03 01:54:26 -04:00
Andrew Steinborn
e2389d96e9
Include implementation in the user-agent.
2018-11-03 01:39:28 -04:00