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
Andrew Steinborn
b7725a7764
More sane shutdown code.
2018-08-28 21:27:03 -04:00
Andrew Steinborn
5773fe240b
Use a HashSet here as it is more appropriate for the situation.
2018-08-28 21:24:49 -04:00
Andrew Steinborn
6f8dae3a7e
Removed all references to the static VelocityServer instance.
2018-08-27 00:45:00 -04:00
Andrew Steinborn
fead4783af
Another misc cleanup for bossbars.
2018-08-27 00:25:39 -04:00
Andrew Steinborn
c2fa5d3ff1
Make sure to deny 1.12.2 and below clients in "modern" IP forwarding.
2018-08-27 00:25:30 -04:00
Andrew Steinborn
b5ebb4541f
Clean ups around the codebase.
2018-08-27 00:24:58 -04:00
Andrew Steinborn
c7469ec13c
Removed all entity ID rewriting logic.
...
This was all a no-op anyway, and should the need for this arise again,
it is trivial to re-add. However, Velocity does not need this, and
probably will never need it. Let's have the complexity go away.
2018-08-26 23:58:35 -04:00
Andrew Steinborn
f27b7e4e2f
Fix improper packet mapping for chat messages.
...
This fixes the statistics display on the client.
2018-08-26 23:47:23 -04:00
Andrew Steinborn
42f0dbf646
Expand README
2018-08-26 23:42:01 -04:00
Andrew Steinborn
db3f2b86e1
Remove unused client settings field from ConnectedPlayer
2018-08-26 23:23:13 -04:00
Andrew Steinborn
8e0ca2033e
Explicitly cover unexpected disconnects during login
2018-08-26 22:43:18 -04:00
Andrew Steinborn
d482dc7f4f
Clean this up
2018-08-26 19:44:15 -04:00
Andrew Steinborn
79f4abcf90
Expand /server command.
...
The command now supports displaying the server you are currently on and
takes full advantage of the JSON-based text component system to prettify
its output.
2018-08-26 19:41:18 -04:00
Andrew Steinborn
01c1002249
Make sure to schedule on the thread pool and not on the scheduler.
2018-08-26 18:43:55 -04:00
Andrew Steinborn
1e178cfe2a
Properly block connecting to Velocity with legacy forwarding.
...
I also took the opportunity to improve the disconnect handling for
Disconnect messages from the server.
2018-08-26 18:18:02 -04:00
Andrew Steinborn
44c4221e19
Add /end alias for /shutdown.
2018-08-26 18:02:55 -04:00
Andrew Steinborn
ef556afbf3
Rewrote scheduler to use ScheduledExecutorService for delay/repeat tasks
2018-08-26 17:56:43 -04:00
Andrew Steinborn
ffd6217170
Broaden a catch clause so Java Errors while loading plugins don't halt the proxy.
2018-08-26 14:40:07 -04:00
Andrew Steinborn
27288685ff
Register 1.13+ channels on legacy clients too.
...
Prior to this commit, Velocity registered 1.13 and "legacy" channels
differently. This commit unifies both for legacy clients to make
compatibility easier. It also fixes a related issue in the new LuckPerms
port to Velocity.
2018-08-26 14:39:31 -04:00
Andrew Steinborn
2f6642dcd8
Make the c/v/api/proxy/player package more general.
2018-08-25 21:44:53 -04:00
Andrew Steinborn
f273c046ec
Add javadoc and reorganize the player settings stuff.
2018-08-25 12:54:30 -04:00
Andrew Steinborn
2b3503e2df
Fix compile.
2018-08-25 11:02:20 -04:00
Andrew Steinborn
d0ecc2b623
Allow making the "players" response null.
2018-08-25 10:59:42 -04:00
Andrew Steinborn
c1b1e71075
Fix a typo.
2018-08-25 10:56:32 -04:00
Andrew Steinborn
ebb1810392
Merge remote-tracking branch 'origin/master'
2018-08-25 01:15:00 -04:00
Andrew Steinborn
168c36facf
Bring to latest master
2018-08-25 01:13:00 -04:00
Andrew Steinborn
a37a0d6665
Merge branch 'master' into native-crypto
...
# Conflicts:
# native/src/main/java/com/velocitypowered/natives/util/Natives.java
2018-08-25 01:12:26 -04:00
Andrew Steinborn
1acf9e1bbb
Make sure to clean up old stuff
2018-08-25 00:44:32 -04:00
Andrew Steinborn
9033b1c051
Prepare Javadoc deployment
2018-08-25 00:42:54 -04:00
Andrew Steinborn
7ee56d9f5f
Massively improved Javadoc coverage to prepare for Javadoc site.
2018-08-25 00:29:22 -04:00
Andrew Steinborn
4fb415c845
A little cleanup on the GameProfileRequestEvent.
2018-08-24 21:51:31 -04:00
Andrew Steinborn
87ffb1ac2f
Add even more Javadoc.
2018-08-24 21:50:56 -04:00
Andrew Steinborn
bc2f3a7288
Clean up ConnectedPlayer initialization.
2018-08-24 21:30:58 -04:00
Andrew Steinborn
5389ec1baf
Fix compile.
2018-08-24 21:16:48 -04:00
Andrew Steinborn
afb6e69388
Improve Javadoc and the GameProfileRequestEvent.
2018-08-24 21:09:56 -04:00
Andrew Steinborn
e6e3ccaa95
Fix minor bug with shutdown messages.
2018-08-23 21:57:10 -04:00
Andrew Steinborn
91265b12a3
Fix repeat
2018-08-23 21:51:15 -04:00
Andrew Steinborn
8fd026e025
Totally removed all uses of jsr305. Fixes #38
2018-08-22 21:46:17 -04:00
Andrew Steinborn
27760f5a97
Limit scope of "attempted server connections" to just initial log ons.
2018-08-22 21:10:14 -04:00
Andrew Steinborn
2d21c01f8a
Fix boss bar handling on Minecraft 1.13+.
2018-08-22 21:08:47 -04:00
Andrew Steinborn
ccb904eeb1
Update for Minecraft 1.13.1 support
2018-08-22 20:53:53 -04:00
Andrew Steinborn
d9c35a680a
Plugins can get plugin messages now.
2018-08-22 18:59:10 -04:00
Andrew Steinborn
c36f417b1e
Add support for sending plugin messages over the wire
2018-08-22 00:53:02 -04:00
Andrew Steinborn
8352f7fa70
Add disconnect API call
2018-08-22 00:47:29 -04:00
Andrew Steinborn
db9f668290
Merge branch 'plugin-messages'
2018-08-22 00:27:29 -04:00
Andrew Steinborn
d94b58e45e
One last try, this ought to work.
2018-08-22 00:03:06 -04:00
Andrew Steinborn
8ea1aef173
I'm crazy
2018-08-21 23:58:42 -04:00
Andrew Steinborn
f6f48e9b2d
This should do it
2018-08-21 23:58:17 -04:00
Andrew Steinborn
13215f132e
Debugging Jenkins here...
2018-08-21 23:47:29 -04:00
Andrew Steinborn
7263c1046f
Attempt 2 at Maven repo, now with modified Docker base image
2018-08-21 23:42:31 -04:00
Andrew Steinborn
fd65887f1f
Attempt 1 at Maven repo!
2018-08-21 23:35:09 -04:00
Andrew Steinborn
6bb7bc7081
Merge branch 'master' into plugin-messages
2018-08-21 23:29:05 -04:00
Andrew Steinborn
55041aa1b1
Add basic implementation.
2018-08-21 23:03:09 -04:00
Andrew Steinborn
3ed499c7c0
Note that these classes are immutable.
2018-08-21 22:45:55 -04:00
Andrew Steinborn
2b6786e1fa
Started work on plugin messaging API.
2018-08-21 22:41:30 -04:00
Andrew Steinborn
7b84da2fa7
Cleaning up some stuff in the proxy implementation.
2018-08-21 22:29:01 -04:00
Andrew Steinborn
2d0c826ec9
Introduce ServerConnection interface
...
This will become very useful for plugin messaging support.
2018-08-21 21:51:31 -04:00
Andrew Steinborn
718f615d3f
Simplify and improve the startup timer.
2018-08-13 07:23:49 -04:00
Andrew Steinborn
671df77c1f
Forward the keep-alive packet directly onto the client.
...
This improves anti-cheat compatibility.
2018-08-12 08:06:50 -04:00
Andrew Steinborn
21e72556c9
Correctly handle rapid disconnects. Fixes #31
2018-08-11 06:46:40 -04:00
Andrew Steinborn
8068f72729
Fix up player info forwarding.
2018-08-11 00:22:24 -04:00
Andrew Steinborn
95bd152fee
More protocol sanity.
2018-08-10 23:44:52 -04:00
Andrew Steinborn
8bf3b99b10
Make sure the client has time to respond to the player info packet.
...
Apparently, Minecraft 1.13 can take a little too long to respond to
Velocity's player info forwarding packet. This especially noticeable in
offline mode: by the time the client does respond, Velocity has already
completed the login process and tried connecting to the server (it is
very quick under offline mode).
Noticed by Leymooo.
2018-08-10 23:40:51 -04:00
Andrew Steinborn
8998bc7c8f
Presize the maps.
...
TODO: Replace that ugly autoboxed primitive without excessively blowing
up the size of the JAR
2018-08-10 20:56:22 -04:00
Andrew Steinborn
9af6829688
Fix sending commands to remote server.
2018-08-10 03:05:59 -04:00
Andrew Steinborn
58e072ab94
Bumped to kyoripowered/text 1.12-1.6.2
2018-08-09 20:56:12 -04:00
Andrew Steinborn
0834bec997
Merge branch 'tab-complete'
2018-08-09 10:15:22 -04:00
Andrew Steinborn
b78ddf7b85
Fix scoreboard teams on Minecraft 1.8.
2018-08-09 10:15:19 -04:00
Andrew Steinborn
2e1de306fb
Complete tab-complete support back to Minecraft 1.8.
2018-08-09 10:14:44 -04:00
Andrew Steinborn
9a36bd6cae
Merge branch 'master' into tab-complete
2018-08-09 09:47:30 -04:00
Andrew Steinborn
1f0a4a8228
Add support for HMACed player forwarding data.
...
This provides a small degree of security but also makes Velocity "secure
by default", especially on shared hosts.
2018-08-09 05:24:47 -04:00
Andrew Steinborn
254508a5cf
Add connection attempt rate-limiting.
2018-08-09 03:23:27 -04:00
Andrew Steinborn
db8b7c807c
Add kqueue transport support
2018-08-08 10:10:11 -04:00
Andrew Steinborn
512b1c2403
Remove erroneously added getter
2018-08-08 09:45:38 -04:00
Andrew Steinborn and GitHub
84717a11da
Update README.md
2018-08-08 09:22:47 -04:00
Andrew Steinborn
6bc5413038
Exclude all Gradle build folders
2018-08-08 05:59:26 -04:00
Andrew Steinborn
a261823302
Add favicon support
2018-08-08 04:44:27 -04:00
Andrew Steinborn
54f9de04dc
Add MC tab complete (incomplete, only 1.12.2 works)
2018-08-07 11:53:13 -04:00
Andrew Steinborn
bb601dca4b
Add console tab complete, shutdown command, gracefully kick players.
2018-08-07 11:02:35 -04:00
Andrew Steinborn
a88d27af76
Ignore repeated shutdown requests.
2018-08-07 10:37:38 -04:00
Andrew Steinborn
a7a227ed05
Add shutdown flag.
2018-08-07 10:14:34 -04:00
Andrew Steinborn
05693425bf
Add a basic command handling framework inspired by Bukkit/BungeeCord.
...
This doesn't yet support tab complete, that will come later. Additionally,
a /server command (using your configuration) and /velocity (shows basic
copyright information about the proxy) have been added.
2018-08-07 09:34:31 -04:00
Andrew Steinborn
09eff5a2fb
GS4 clients generally don't understand MC color codes (or JSON chat).
2018-08-07 07:56:28 -04:00
Andrew Steinborn
b5fcc1b34a
Fix GS4 issues.
2018-08-07 07:51:09 -04:00
Andrew Steinborn
3e0df79c98
Fix GS4 "can't bind to null" error.
2018-08-07 07:34:41 -04:00
Andrew Steinborn
b983cdb7b3
Fix some spirous "connection closed" errors.
2018-08-07 07:18:54 -04:00
Andrew Steinborn
a2b4291b36
Use Guava immutable integer arrays.
2018-08-07 07:18:21 -04:00
Andrew Steinborn
abbdf70d5e
[Experimental] Remove PacketWrapper objects
...
In both Velocity and BungeeCord, the most commonly created object is an
object that encapsulates a Minecraft packet and a its associated byte
data.
At first, I considered trying to recycle these objects, but then I
discovered that this object has no reason to exist, and actually somewhat
complicates the implementation. Thus, this commit removes these objects,
making Velocity more more GC-friendly by not allocating frequently-created
objects.
This is still an experimental change, but it's a fairly safe one to make.
2018-08-07 04:28:07 -04:00
Andrew Steinborn
fdf5f27da6
Improve server list ping, especially for legacy MC versions.
2018-08-07 01:02:39 -04:00
Andrew Steinborn
48822fe55c
Better case-insensitivity.
2018-08-05 17:14:39 -04:00
Andrew Steinborn
a778825152
Add server registration API.
2018-08-05 17:10:18 -04:00
Andrew Steinborn
23a6488a39
Add default config again. Closes #12
2018-08-05 16:12:16 -04:00
Andrew Steinborn
4e64b04464
Avoid duplicate logins.
2018-08-05 01:30:40 -04:00
Andrew Steinborn
22d1398f73
Extend the API with a ProxyServer type.
2018-08-05 01:26:07 -04:00
Andrew Steinborn
0c7815b6e9
Disable the natives test for now
2018-08-04 23:48:31 -04:00
Andrew Steinborn
8aa1fe524e
Native cryptography support using mbed TLS
2018-08-04 23:46:41 -04:00
Andrew Steinborn
06a6493605
Cleaned up connection code.
2018-08-04 03:18:57 -04:00
Andrew Steinborn
0ba85fe83f
Introduce a fluent connection request API.
2018-08-04 03:13:17 -04:00