Andrew Steinborn
8eb7ecba83
Actually populate ForgeConstants
2018-10-15 17:02:19 -04:00
Andrew Steinborn
51c402e3d3
Create a specific Forge-related package
2018-10-15 17:01:18 -04:00
Andrew Steinborn
b7d7e3cc89
Switch forwarding mode to none by default
2018-10-15 14:27:50 -04:00
Andrew Steinborn
33f333d8cc
Clean up FML/handshake stuff from virtual host.
2018-10-13 02:34:53 -04:00
Andrew Steinborn
2f0ba42fa0
Also make sure tab list completion doesn't crash the proxy
2018-10-12 22:12:15 -04:00
Andrew Steinborn
7578aa27a9
More reliably tear down connections and fire DisconnectEvent. Fixes #111
2018-10-09 19:02:15 -04:00
Andrew Steinborn
222e90a9f0
Unbreak Forge logic.
2018-10-05 19:04:10 -04:00
Andrew Steinborn
d59c8874b7
Fix issues with UUIDs with leading zeroes. Fixes #109
2018-10-05 02:39:11 -04:00
Andrew Steinborn
d6fb3a210e
Shorten connection errors to a more reasonable length. Fixes #58
2018-10-04 10:09:14 -04:00
Andrew Steinborn
20d0c39576
Update Netty to 4.1.30.Final
2018-09-30 19:09:44 -04:00
Andrew Steinborn
3777ab5c8f
Fix PlayerChatEvent Javadoc
2018-09-30 18:32:01 -04:00
Andrew Steinborn
b6a9299f9f
Do tab list clearing into one packet
2018-09-30 18:27:07 -04:00
Andrew Steinborn
732caa2d40
Remove RecordingThreadFactory since it's actually a terrible idea
2018-09-30 00:05:48 -04:00
Andrew Steinborn
2d2258d667
Misc cleanup
2018-09-29 23:57:40 -04:00
Andrew Steinborn
eddf01fc32
Reduce duplication between annotation processor and proxy.
2018-09-29 23:28:44 -04:00
Andrew Steinborn
1da1382b16
some toString() changes
2018-09-29 16:22:50 -04:00
Andrew Steinborn
33a2cb7bad
Less verbose version
2018-09-29 14:54:46 -04:00
Andrew Steinborn
5af09f906a
Fix a bug where it would try to register legacy channels(!) on 1.13+
2018-09-29 14:53:04 -04:00
Andrew Steinborn
a44bb3b048
Remove more junk
2018-09-29 14:37:42 -04:00
Andrew Steinborn
dc594e692d
Missed a few spots.
2018-09-29 03:39:38 -04:00
Andrew Steinborn
8be7ca9ab5
Apply final modifier to all classes in the api module.
2018-09-29 03:38:42 -04:00
Andrew Steinborn
75c3bb5ee6
Clean up vestigal stuff
2018-09-29 03:32:44 -04:00
Andrew Steinborn
97d541d146
Warn if someone tries to register the plugin instance as a listener
2018-09-29 03:15:49 -04:00
Andrew Steinborn
79d566bcee
Finished the port to new session handler stuff
2018-09-29 02:55:52 -04:00
Andrew Steinborn
c7bd0d100e
Started refactoring session handlers
2018-09-29 02:16:34 -04:00
Andrew Steinborn
6cd0a6b148
Introduce Channel#eventLoop() shorthand
...
This is such a common call that it makes a lot of sense to go ahead
and expose this.
2018-09-29 01:38:30 -04:00
Andrew Steinborn
5ab346a02b
Don't tediously hardcode the names of channels if we can help it
2018-09-29 01:34:45 -04:00
Andrew Steinborn
f04599ae68
Clean up some plugin message channel code
2018-09-29 01:28:07 -04:00
Andrew Steinborn
f569a07b2e
Move channel registrar to util
2018-09-29 01:25:24 -04:00
Andrew Steinborn
e6c178aae7
Cleaned up Java plugin loader
2018-09-27 15:52:31 -04:00
Andrew Steinborn
8c98395d51
Remove redundant contains check
2018-09-27 15:20:24 -04:00
Andrew Steinborn
0f5dc4b248
That's not good
2018-09-27 02:45:39 -04:00
Andrew Steinborn
731186ca10
Redesigned the /velocity command somewhat
2018-09-27 02:44:45 -04:00
Andrew Steinborn
d4910d9edc
Remove potentially high-frequency usages of streams
2018-09-27 02:37:53 -04:00
Andrew Steinborn
63f22dc2de
Extra clarity for server/MinecraftConnection naming
2018-09-27 02:35:10 -04:00
Andrew Steinborn
403fec13d8
Move UuidUtils test to api module
2018-09-27 02:33:47 -04:00
Andrew Steinborn
d639e47fbf
Fix a number of issues with dependency resolution and add unit tests
2018-09-27 00:51:33 -04:00
Andrew Steinborn
c89f3ea468
Remove scoreboard packets
...
We don't use these any more, and to be frank, it's kind of scary to
update anyway.
2018-09-24 02:04:12 -04:00
Andrew Steinborn
6c61aa49f3
Sanity: reset ping ID after getting the right KeepAlive
2018-09-22 20:38:59 -04:00
Andrew Steinborn
9e999e1e5a
Maintain keep alives on the server connection, not on the client.
2018-09-21 23:19:12 -04:00
Andrew Steinborn
1e04d27bb7
Never launch the Gradle daemon
...
Since we are using separate containers for each pipeline stage, the
daemons get nicked once the stage is done. Why bother having them?
2018-09-21 12:49:02 -04:00
Andrew Steinborn
b894dfbdd4
Combine the javadoc and publish stages together
...
In other words, the security-sensitive stuff now runs on its own agent.
2018-09-21 12:44:17 -04:00
Andrew Steinborn
df06d85d62
Deploy separate agents per stage
2018-09-21 12:40:34 -04:00
Andrew Steinborn
284f90183f
Add missing null check here
2018-09-20 22:44:26 -04:00
Andrew Steinborn
d06028e0f8
ProxyServer#broadcast()
2018-09-20 22:43:58 -04:00
Andrew Steinborn
0e901e2843
Update README
2018-09-20 16:58:50 -04:00
Andrew Steinborn
8763573ae6
Major improvements to tab complete support.
...
- Removed half-baked 1.13 support that didn't even work anyway. Perhaps
in the future we could restore it by rewriting the available commands
packet.
- Proxy commands now show up in tab complete responses where possible.
2018-09-20 16:39:50 -04:00
Andrew Steinborn
e577d6b6f5
Fix typo from PR.
2018-09-20 16:09:46 -04:00
Andrew Steinborn
95c761479f
Make connections more robust
2018-09-19 21:29:07 -04:00
Andrew Steinborn
b7e6334324
Add toString() to PluginMessageEvent
2018-09-19 15:20:18 -04:00
Andrew Steinborn
5c3e1adee2
Fix this annoying wart
2018-09-19 14:57:53 -04:00
Andrew Steinborn
50c27066e2
Import cleanup
2018-09-19 14:56:49 -04:00
Andrew Steinborn
1be508ed5e
Merge branch 'master' into merged
2018-09-19 14:54:44 -04:00
Andrew Steinborn
50316f2f1c
Merge branch 'master' into merged
2018-09-19 14:54:03 -04:00
Andrew Steinborn
c29b92c1bf
Merge branch 'plugin-message-event' into merged
2018-09-19 14:52:28 -04:00
Andrew Steinborn
9016162a49
Optimize and clarify GS4 query handler.
2018-09-18 17:24:28 -04:00
Andrew Steinborn
d796f079f0
I forgot this.
2018-09-18 17:01:26 -04:00
Andrew Steinborn
c38b73863a
Fix more scheduler issues
2018-09-18 16:59:13 -04:00
Andrew Steinborn
717c2afeb3
Update for changes in master.
2018-09-18 16:50:33 -04:00
Andrew Steinborn
89b5da25be
Merge branch 'master' into registered-server
2018-09-18 16:50:13 -04:00
Andrew Steinborn
508ba35697
Exclude plugins from Git.
2018-09-18 16:48:52 -04:00
Andrew Steinborn
2bfb7061ee
Turn StatusRequest into a singleton.
2018-09-18 16:48:21 -04:00
Andrew Steinborn
44b1b82b09
Try to avoid locking, use an actual concurrent data structure
2018-09-18 16:40:51 -04:00
Andrew Steinborn
f973ded4ee
Tighten identifier checks since NuVotifier fixed this
2018-09-17 16:18:47 -04:00
Andrew Steinborn
a60c55007a
Remove LegacyChatColorUtils
...
In most cases, you should only work with legacy text to deserialize or
serialize it for backwards compatibility or user configurations only.
2018-09-17 16:11:23 -04:00
Andrew Steinborn
fc48db62b5
Improve native initialization logic, again
2018-09-17 15:02:49 -04:00
Andrew Steinborn
e75ec71b32
Improve native initialization logic
...
This uses the double-check pattern as recommended in Effective Java.
2018-09-17 01:03:17 -04:00
Andrew Steinborn
037dceb599
Fix potential race
2018-09-16 15:35:25 -04:00
Andrew Steinborn
2a842bffbe
Add missing null check
2018-09-16 15:32:51 -04:00
Andrew Steinborn
291069af80
Implement RegisteredServer#ping()
2018-09-16 13:59:44 -04:00
Andrew Steinborn
1f8152c3a5
ProxyServer#getServerInfo -> ProxyServer#getServer
2018-09-16 13:16:16 -04:00
Andrew Steinborn
8b94fe6ed2
Readd missing check
2018-09-16 02:41:35 -04:00
Andrew Steinborn
5ff36f1ae7
Merge branch 'master' into plugin-message-event
...
# Conflicts:
# proxy/src/main/java/com/velocitypowered/proxy/connection/backend/BackendPlaySessionHandler.java
# proxy/src/main/java/com/velocitypowered/proxy/connection/client/ClientPlaySessionHandler.java
2018-09-16 02:35:38 -04:00
Andrew Steinborn
e1b2dc0d43
Introduce RegisteredServer API
...
This interface roughly maps the BungeeCord ServerInfo API. Accordingly,
this is a breaking API change, as many of the server-related events and
methods working with server info instances now provide/expect the
RegisteredServer interface instead.
2018-09-16 02:26:29 -04:00
Andrew Steinborn
88b7407aaf
Fix rare NPE during server transition. Fixes #87
2018-09-15 13:37:30 -04:00
Andrew Steinborn
ab568405dd
Cleaned up client plugin message logic.
2018-09-15 02:22:52 -04:00
Andrew Steinborn
84947564e4
Handle unexpected disconnects without a reason.
2018-09-15 01:46:28 -04:00
Andrew Steinborn
871319d679
Allow custom connection and read timeouts.
2018-09-15 01:26:54 -04:00
Andrew Steinborn
2b1d55a0fc
Expose original server in ServerPreConnectEvent
2018-09-15 01:16:26 -04:00
Andrew Steinborn
e9568e1b6c
Do not write plugin messages from the server if the player hasn't joined
2018-09-14 15:26:51 -04:00
Andrew Steinborn
9776675b70
Queue mod plugin messages instead.
2018-09-14 14:16:32 -04:00
Andrew Steinborn
496c579e46
Drop non-FML handshake packets if the game start process is not done.
2018-09-14 13:56:38 -04:00
Andrew Steinborn
0469aaa03a
Fix several invalid connection closure issues.
2018-09-14 01:00:56 -04:00
Andrew Steinborn
56a50c60b5
Add missing readable check
2018-09-09 15:05:27 -04:00
Andrew Steinborn
46aa8efb35
Improve reliability of varint decoder.
2018-09-09 14:37:43 -04:00
Andrew Steinborn
f2e3b5c7ec
Increase plugin channels limit
2018-09-09 14:20:46 -04:00
Andrew Steinborn
54c3c37064
Update note about Forge support [ci skip]
2018-09-08 02:14:52 -04:00
Andrew Steinborn
0b1f95147a
Implment simple backpressure support
...
In most cases this should only trigger on initial spawns and server
switches.
2018-09-08 01:00:21 -04:00
Andrew Steinborn
8d045c9140
Bump versions of Gradle, log4j, and Netty.
2018-09-08 00:32:53 -04:00
Andrew Steinborn
f75a51638c
Enable TCP_NODELAY on Minecraft proxy connections too
2018-09-07 23:29:49 -04:00
Andrew Steinborn
5dbf8f1736
Include modlist in toBuilder()
2018-09-07 23:23:53 -04:00
Andrew Steinborn
a62238d073
Allow toggling announcing Forge support on and off
2018-09-07 18:18:38 -04:00
Andrew Steinborn
3eca6e9df1
Mark Velocity as a modded server on the server list
2018-09-07 18:09:28 -04:00
Andrew Steinborn
be9547612f
Misc code cleanup
2018-09-07 17:54:59 -04:00
Andrew Steinborn
f8a3f24d6b
Make sure to always forward on keep-alives from the client
2018-09-07 16:35:36 -04:00
Andrew Steinborn
30baee84bd
Add the same check to ClientPlaySessionHandler
2018-09-06 16:11:44 -04:00
Andrew Steinborn
51a85d372b
Add hasCompletedJoin() check as suggested
2018-09-06 16:09:13 -04:00
Andrew Steinborn
5a424f5cbb
Include version in boot message
2018-09-04 01:39:51 -04:00
Andrew Steinborn
5e0b13edcd
Enhance config checks.
2018-09-04 01:37:08 -04:00
Andrew Steinborn
d2133bf0b4
Javadocs here
2018-09-04 01:32:50 -04:00