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
Andrew Steinborn
108996fc1f
Missed this
2018-09-04 01:13:06 -04:00
Andrew Steinborn
69e88ca6fd
Adds KickedFromServerEvent. Fixes #49
2018-09-04 01:12:20 -04:00
Andrew Steinborn
c021eb2020
Don't output ProtocolVersion toString() in decode errors
...
This information is extremely technical in nature and the data is already
available for developer use by examining StateRegistry.
2018-09-04 00:50:24 -04:00
Andrew Steinborn
c5dcfb1ba6
Prettier, conciser, and more useful ProtocolVersion#toString()
2018-09-03 23:45:11 -04:00
Andrew Steinborn
c30cc66461
Test logic when exception is thrown in thread
2018-09-03 23:30:18 -04:00
Andrew Steinborn
3b5d20e62d
Include git revision and build number
2018-09-03 21:02:11 -04:00
Andrew Steinborn
01be081bda
Update link to Velocity repo
2018-09-03 15:01:18 -04:00
Andrew Steinborn
c520e04ac8
[BREAKING] PluginMessageEvent instead
2018-09-02 20:50:24 -04:00
Andrew Steinborn
db1b19dcd6
Remove unused scoreboard API
2018-09-02 18:07:31 -04:00
Andrew Steinborn
ff0f83b375
Add getBoundAddress() for NuVotifier
2018-09-02 16:34:25 -04:00
Andrew Steinborn
3791283860
Gracefully handle offline-mode login attempts on online-mode.
2018-09-01 14:18:30 -04:00
Andrew Steinborn
561df4e9b2
Avoid running tasks we need for later
2018-08-31 21:34:00 -04:00
Andrew Steinborn
19c4c300e5
Okay, really?
2018-08-31 16:59:15 -04:00
Andrew Steinborn
576c63893f
Make sure Jenkins doesn't run deploy jobs for different branches
2018-08-31 16:57:37 -04:00
Andrew Steinborn
d7e18b2cb1
Make channels case-insensitive because NuVotifier uses a mixed-case name
2018-08-31 15:27:11 -04:00
Andrew Steinborn
d3a14721bc
Fix typo that forced modern forwarding on.
2018-08-31 15:26:44 -04:00