Andrew Steinborn
1661cece2d
An Easter basket bearing gifts! ( #191 )
...
* Delay switch to new server until after JoinGame is sent.
Unfortunately, in some cases (especially vanilla Minecraft) some login
disconnects are sent after ServerLoginSuccess but before JoinGame.
We've been using ServerLoginSuccess but it has caused too many problems.
Now Velocity will switch to a stripped-down version of the play session
handler until JoinGame is received. This handler does very little by
itself: it simply forwards plugin messages (for Forge) and waits for the
JoinGame packet from the server.
This is an initial version: only vanilla Minecraft 1.12.2 was tested.
However this is the way Waterfall without entity rewriting does server
switches (which, in turn, is inherited from BungeeCord).
* Move to Gradle 5 and Error Prone.
2019-04-24 14:36:49 -04:00
Andrew Steinborn
545966a4e7
Minecraft 1.14
2019-04-23 13:46:49 -04:00
Andrew Steinborn
21368f542c
Merge pull request #189 from Leymooo/1.14
...
Support for 1.14 protocol
2019-04-23 02:21:46 -04:00
Andrew Steinborn
edcd13b532
Fix Checkstyle issues
2019-04-21 02:56:29 -04:00
Andrew Steinborn
dea7c215d7
Allow empty channel names (but not namespaces).
2019-04-21 02:52:52 -04:00
Leymooo
ac192c281c
1.14-pre5
2019-04-18 22:45:17 +03:00
Andrew Steinborn
564cb99861
Add Player#getGameProfile() to make tab list plugins easier to make.
2019-03-29 15:01:52 -04:00
Andrew Steinborn
118574e535
Updated log4j and Checker Framework
...
Updating Checker Framework flagged numerous warnings, which have been
corrected. These probably involve type declarations lacking a nullness
annotation that appeared elsewhere.
2019-03-28 22:27:51 -04:00
Andrew Steinborn
611a31b7bb
Attempt to allow Eclipse to import the Gradle project.
2019-03-28 21:46:45 -04:00
Andrew Steinborn
e2fa06fa17
Merge pull request #176 from Crypnotic/master
...
Add matchPlayer and matchServer
2019-03-09 00:15:07 -05:00
Andrew Steinborn
c7a379ebb8
Include server that we attempted to connect to in the result.
2019-03-08 23:51:47 -05:00
Crypnotic
b35fd05d2e
Add matchPlayer and matchServer
2019-03-03 09:57:19 -06:00
Andrew Steinborn
12f5bdfc48
Properly implement fallback support.
2019-02-15 15:07:38 -05:00
kashike
6d080db48e
Bump text dependency to 1.12-1.6.5 to fix a deserialisation issue
2019-01-21 09:12:27 -08:00
Andrew Steinborn
89bcc9a100
Grab most of the low-hanging fruit.
2018-12-29 17:22:36 -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
256978fc15
Solve a bunch of Checkstyle warnings.
2018-12-29 10:57:55 -05:00
Andrew Steinborn
898353640e
Moving to new Jenkins setup
2018-12-24 08:23:56 -05:00
Andrew Steinborn
e979db7778
Fix some unfriendly behavior in Favicon#create(Path)
2018-12-13 19:44:59 -05:00
Andrew Steinborn
1856fb6aad
ProtocolVersion#SUPPORTED_VERSIONS
2018-12-13 05:24:37 -05:00
Andrew Steinborn
853fd2226d
Fix formatting in ProtocolVersion
2018-12-07 17:24:56 -05:00
Andrew Steinborn
a3bfa292c6
Merge pull request #139 from VelocityPowered/reload-command
...
Reload command
2018-12-01 18:04:09 -05:00
Andrew Steinborn
a9ae53e527
Introduce ConsoleCommandSource. See #155
2018-12-01 17:08:34 -05:00
Andrew Steinborn
edfdcf3d53
Document ServerPreConnectEvent more carefully.
2018-11-25 14:54:03 -05:00
Crypnotic
6b4c809c39
Rework and expose ProtocolVersion to the API
2018-11-20 17:15:48 -06: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
3023a90295
[BREAKING] Rename withUuid()->withId() and withId()->withUndashedId()
2018-11-17 16:40:09 -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
Yeregorix
3cba196ba7
Remove Identifiable
2018-11-15 17:02:26 +01:00
Yeregorix
da259951c7
Change 'set' prefixes to 'with' and add javadoc
2018-11-12 21:34:57 +01:00
Yeregorix
b6bb4ad1a1
Optimize GameProfile and add Identifiable interface
2018-11-12 19:50:52 +01:00
Andrew Steinborn
8a7ba25097
Fix Forge server ping mod serialization. Closes #131
2018-11-08 16:57:14 -05:00
Andrew Steinborn
f423169449
Fix issues with server connections.
2018-10-29 19:25:51 -04:00
Andrew Steinborn
070631902a
Fix some suboptimal behavior in invoking KickedFromServerEvent.
...
Previously, the event would only fire when a player was kicked from the
current server they were on. Now, under certain cases, it can be fired
even if the player was already connected to a server.
To faciliate this, a new result (Notify) was introduced. This result
will "do the right thing" if the player is kicked from the current
server or is trying to connect to a different server than the one they
were on.
2018-10-28 03:32:18 -04:00
Andrew Steinborn
1310cd2c53
Mix of Checkstyle and SonarLint.
2018-10-28 03:18:15 -04:00
Andrew Steinborn
6467335f74
Fixed most Checkstyle warnings in the API.
2018-10-28 00:41:21 -04:00
Andrew Steinborn
25b5e00125
Reformat with Google code style and enforce Checkstyle.
...
Fixes #125
2018-10-27 23:45:36 -04:00
Andrew Steinborn
53aa92db92
Fix some low-hanging code smells using SonarLint.
2018-10-27 22:18:30 -04:00
Andrew Steinborn
32829c5637
Checker Framework integration ( #126 )
2018-10-27 21:45:42 -04:00
Mark Vainomaa
ff6a6ad40b
Add native forced hosts support
2018-10-27 22:36:52 +03:00
Mark Vainomaa
447e7d1d50
Adapt to upcoming Checker framework related changes
2018-10-27 21:38:20 +03:00
Mark Vainomaa
ea43b8ff60
Add Query event
2018-10-27 19:57:48 +03:00
Andrew Steinborn
3bd48dec99
Add convenience connectWithIndication() method.
2018-10-21 17:49:51 -04:00
kashike
78abba56af
Change player info action enum to int
...
Read & write server id
Fix javadocs
2018-10-13 00:18:21 -07:00
Alex Thomson
245828e337
Make changes based on PR comments
2018-10-11 10:41:40 +13:00
Alex Thomson
c5a27bb135
Add Forge mod list support
2018-10-10 19:52:22 +13:00
Andrew Steinborn
d59c8874b7
Fix issues with UUIDs with leading zeroes. Fixes #109
2018-10-05 02:39:11 -04:00
Crypnotic
aa34977f3e
Added ProxyConfig interface and implemented in VelocityConfiguration
2018-09-30 23:56:53 -05:00
Andrew Steinborn
3777ab5c8f
Fix PlayerChatEvent Javadoc
2018-09-30 18:32:01 -04:00
Desetude
328e06d407
Add tab list documentation
2018-09-30 22:43:24 +01:00
Desetude
61bd178591
Initial tablist implementation
2018-09-30 21:01:01 +01:00
Andrew Steinborn
1da1382b16
some toString() changes
2018-09-29 16:22:50 -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
0f5dc4b248
That's not good
2018-09-27 02:45:39 -04:00
Andrew Steinborn
403fec13d8
Move UuidUtils test to api module
2018-09-27 02:33:47 -04:00
Thomas Vanmellaerts
3acc00de5e
Move ChatResult to PlayerChatEvent and don't call event on spoofChatInput()
2018-09-26 19:50:36 +02:00
Thomas Vanmellaerts
7598918d93
Add chat event
2018-09-26 13:07:03 +02:00
Leymooo
46c02c9895
merge upstream
2018-09-24 12:40:48 +03:00
Andrew Steinborn
ef578ff69b
Merge pull request #99 from lucko/feature/command-permissions
...
Implement optional permission check method for commands
2018-09-21 16:06:50 -04:00
Andrew Steinborn
ee917682e0
Title API ( #95 )
2018-09-21 15:58:47 -04:00
Andrew Steinborn
d06028e0f8
ProxyServer#broadcast()
2018-09-20 22:43:58 -04:00
Luck
b805891d1f
Implement Player#spoofChatInput method
2018-09-20 21:51:22 +01:00
Luck
97e4ff91e7
Implement optional permission check method for commands
...
This allows plugins to customize which players can use their commands. For players without permission, the command is effectively invisible, and the handling is passed through to the backend server.
2018-09-20 21:48:14 +01:00
Luck
921bfbae87
Add missing getters to ServerPing and rename Modinfo --> ModInfo
2018-09-20 14:59:34 +01:00
PurpleIsEverything
1bdba0075f
Rename getModList to getMods
2018-09-19 17:13:29 -06:00
PurpleIsEverything
d218fbf1e0
Modinfo: Add getType and getModList methods.
2018-09-19 14:23:09 -06: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
c29b92c1bf
Merge branch 'plugin-message-event' into merged
2018-09-19 14:52:28 -04:00
Andrew Steinborn
6bd3c70015
Merge pull request #93 from VelocityPowered/remove-legacychatcolorutils
...
Remove LegacyChatColorUtils
2018-09-18 17:27:38 -04:00
Andrew Steinborn
89b5da25be
Merge branch 'master' into registered-server
2018-09-18 16:50:13 -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
1f8152c3a5
ProxyServer#getServerInfo -> ProxyServer#getServer
2018-09-16 13:16:16 -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
PurpleIsEverything
be0f666f4d
Allow modifying the ModInfo type.
2018-09-15 18:36:10 -06:00
Andrew Steinborn
2b1d55a0fc
Expose original server in ServerPreConnectEvent
2018-09-15 01:16:26 -04:00
Andrew Steinborn
d028c281c9
Merge pull request #76 from kashike/mrn
...
ServerPreConnectEvent#getInfo -> getServer
2018-09-14 00:17:25 -04:00
Leymooo
961757b481
fix compile
2018-09-13 23:00:12 +03:00
Leymooo
ab59299620
Refactor PreLoginComponentResult
2018-09-13 10:16:10 +03:00
kashike
c3fd559ac2
ServerPreConnectEvent#getInfo -> getServer
2018-09-12 22:41:51 -07:00
Leymooo
6196f94adf
I think we dont need this comment
2018-09-12 16:28:34 +03:00
Leymooo
bc86a12c57
expand PreLoginComponentResult with force offline mode
2018-09-12 11:47:28 +03:00
Leymooo
d2b4b77134
Allow to edit GameProfile properties.
2018-09-11 19:00:34 +03:00
Leymooo
79bb43468f
remove @NonNull, revert reindentation
2018-09-11 17:44:51 +03:00
Leymooo
74bf246c39
Add PostLoginEvent. Resolve #72
2018-09-11 16:15:54 +03: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
Daniel Naylor
9888f6f6f0
First attempt at getting Forge working nicely with Velocity.
2018-09-05 19:08:29 +01:00
Andrew Steinborn
d2133bf0b4
Javadocs here
2018-09-04 01:32:50 -04:00
Andrew Steinborn
69e88ca6fd
Adds KickedFromServerEvent. Fixes #49
2018-09-04 01:12:20 -04:00
Andrew Steinborn
c520e04ac8
[BREAKING] PluginMessageEvent instead
2018-09-02 20:50:24 -04:00
Andrew Steinborn
ff0f83b375
Add getBoundAddress() for NuVotifier
2018-09-02 16:34:25 -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
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
86461c2b60
Merge branch 'master' into ping
2018-08-25 12:45:07 -04:00
Andrew Steinborn
78a2bd313a
Merge pull request #57 from Leymooo/client-settings
...
Add PlayerSettings API
2018-08-25 12:44:35 -04:00
Leymooo
09153ae620
oops
2018-08-25 18:02:19 +03: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
Leymooo
1b4c537c81
Add PlayerSettings API
2018-08-25 15:52:05 +03:00
Leymooo
bf2dff7693
add method to get player ping
2018-08-25 14:44:44 +03:00
Jadon Fowler
32409c201e
Fix ResultedEvent.GenericResult.DENIED
...
It was true!
Signed-off-by: Jadon Fowler <jadonflower@gmail.com>
2018-08-25 01:14:21 -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
6ccf16cee4
Merge pull request #52 from Leymooo/header-footer
...
Add Header and Footer. Resolves #50
2018-08-24 21:46:03 -04:00
Leymooo
d65e4ed296
add method to clear header and footer
2018-08-25 04:45:10 +03:00
Leymooo
1f8c8dcd94
Add Header and Footer. Resolves #50
2018-08-25 04:37:07 +03: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
Slava Maspanov
a3c4522ca0
Allow to enable online mode for player connection ( #51 )
2018-08-24 20:55:15 -04:00
Andrew Steinborn
8fd026e025
Totally removed all uses of jsr305. Fixes #38
2018-08-22 21:46:17 -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
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
fd65887f1f
Attempt 1 at Maven repo!
2018-08-21 23:35:09 -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
2d0c826ec9
Introduce ServerConnection interface
...
This will become very useful for plugin messaging support.
2018-08-21 21:51:31 -04:00
Minecrell
c43c6cbea2
Add plugin description
2018-08-21 23:13:25 +02:00
Minecrell
830b1d4798
Various improvements to plugin metadata
...
- Add plugin (display) name and plugin URL
- Make everything except plugin ID optional (instead of empty string)
- Exclude empty properties from generated velocity-plugin.json
- Make plugin author list immutable
- Other (minor) cleanup and refactoring
2018-08-21 20:37:10 +02:00
kashike
c4fdac9591
allow more than one author
2018-08-21 09:09:48 -07:00
Andrew Steinborn
a028467e66
Plugin API ( #34 )
...
The Velocity API has had a lot of community input (special thanks to @hugmanrique who started the work, @lucko who contributed permissions support, and @Minecrell for providing initial feedback and an initial version of ServerListPlus).
While the API is far from complete, there is enough available for people to start doing useful stuff with Velocity.
2018-08-20 19:30:32 -04:00
kashike
37093d7385
bump text to 1.12-1.6.4
2018-08-12 14:19:02 -07:00
Leymooo
6a2b945ed6
Do not handle scoreboards from backend
...
Changes in StateRegistry will allow to us skip packets decode which we don't want handle in BackendPlaySessionHandler for a specific versions
Also do not handle respawn packet
2018-08-12 13:35:13 +03:00
Andrew Steinborn
58e072ab94
Bumped to kyoripowered/text 1.12-1.6.2
2018-08-09 20:56:12 -04:00
Andrew Steinborn
a261823302
Add favicon support
2018-08-08 04:44:27 -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
fdf5f27da6
Improve server list ping, especially for legacy MC versions.
2018-08-07 01:02:39 -04:00
Andrew Steinborn
a778825152
Add server registration API.
2018-08-05 17:10:18 -04:00
Andrew Steinborn
22d1398f73
Extend the API with a ProxyServer type.
2018-08-05 01:26:07 -04:00
Andrew Steinborn
0ba85fe83f
Introduce a fluent connection request API.
2018-08-04 03:13:17 -04:00
Andrew Steinborn
fbdaae5ac7
Actually, this would be a better name...
2018-08-04 01:45:18 -04:00
Andrew Steinborn
9bcdc413d7
ProxiedPlayer interface
2018-08-04 01:40:37 -04:00
Andrew Steinborn
4bc4a1ec6a
Use singular plurals, clean up some stuff.
2018-08-02 14:07:32 -04:00
Andrew Steinborn
22dd4bbb99
Split natives. Add proper disposal for natives.
2018-08-01 00:20:51 -04:00
Andrew Steinborn
8b1e1f20cf
A little more documentation.
2018-07-31 16:22:21 -04:00
Andrew Steinborn
bbf861d3bc
Convert into a multi-module project.
...
For now, the API module only contains a few assorted utilities. More
will be added later.
2018-07-31 16:12:41 -04:00