Commit Graph

276 Commits

Author SHA1 Message Date
Konicai 1929a5be83
Fix help command (#2604)
* Always pass session to execute() if the sender is a geyser player

* cleanup
2021-10-31 00:22:41 -05:00
Konicai f883dfdf2c
Remove commands from autocomplete/help list that cannot be run (#2602)
* only tabcomplete for commands the sender has permission for

* set permission defaults for spigot

* Make velocity autocomplete on arg length 0 and 1

* fix advancements perm in spigot plugin.yml and add settings perm

(whoops)

* don't show bedrock commands to java players

* modify spigot perm defaults

* censor help menu, abstract tab complete code

* Bedrock players don't get cmd argument suggestions

* update spigot plugin.yml
2021-10-30 20:57:54 -05:00
Jens Collaert 7454033277
Register `/geyser stop` only on standalone (#2569)
We don't want to condone stopping Geyser in the middle of a plugin session, especially when there's no way to start it back up again.
2021-10-13 13:09:19 -04:00
Camotoy 11bc083885
Update MCProtocolLib; add clearer errors for various connection issues
Errors that are a result of online mode and offline mode clashes are now clarified.
Users will now get a clearer message stating that the server is offline.

Resolves #2501
2021-10-07 11:00:43 -04:00
Camotoy 7cd3eb99ef
Always check for a key in Floodgate's folder first on plugin versions
This should avoid people trying to incorrectly copy the key.
2021-10-02 14:00:10 -04:00
Camotoy f1098a9207
Add Geyser listener into listeners set in BungeeCord
Will fix ViaVersion compatibility when https://github.com/ViaVersion/ViaVersion/pull/2698 gets merged.
2021-10-02 08:53:36 -04:00
Camotoy 43bef851c7
Don't shade any Google dependency
All server platforms have modern enough Google dependencies that nothing should break. Tested with Velocity, BungeeCord, Spigot 1.12.2/1.16.5/1.17.1.
2021-09-26 20:54:44 -04:00
Camotoy 4b05b74a9a
Velocity: only initialize injector on Minecraft listener bound 2021-09-17 22:04:29 -04:00
Camotoy 4ecdcbb7c3
Preface Spigot injector messages with a warning 2021-09-10 21:18:24 -04:00
Camotoy bc0cfde8f9
Set the minimum Java version to 16; drop Bedrock 1.17.0 (#2477) 2021-09-10 14:10:56 -04:00
David Choo 8461cf76b7
Smooth Pistons (#1542)
With proper piston collision for players as well.
2021-09-09 21:20:25 -04:00
Camotoy 0069566803
Dependency update; re-use Thread.MAX_PRIORITY for Spigot; other network optimizations 2021-08-31 19:57:56 -04:00
Camotoy b9541505af
Bump version to try and fix deploying; other nitpicks 2021-08-30 13:55:01 -04:00
rtm516 65e85eb853
Fix bungeecord dump logs after 9fb5090 2021-08-25 11:31:12 +01:00
Jens Collaert d26aed0a87
Allow uploading logs with mclo.gs link into dump (#2453) 2021-08-24 15:11:38 -04:00
David Choo 57c0185b45
Prevent projectiles from blocking the player's vision (#2472)
Prevent Snowballs, Eggs, and other throwable projectiles from blocking the player's screen
2021-08-17 22:44:33 -04:00
Camotoy 76399881a3
Use legacy DefaultEventLoopGroup constructor; label Geyser <-> Spigot connection thread 2021-08-16 22:33:14 -04:00
Camotoy e20247b6d6
Allow enum fields to be set through standalone command line 2021-08-12 14:16:19 -04:00
Camotoy a197f60446
Move use-direct-adapters to system property 2021-07-31 13:54:51 -04:00
Camotoy 002be32bb3
Connect Geyser players directly to the server for plugin versions (#2413)
- Faster loading times and improved latency; Geyser no longer creates a physical TCP connection to join the server
- Less configuration: remote address and port are now irrelevant
- Accurate IP addresses without needing Floodgate.

Co-authored-by: Redned <redned235@gmail.com>
2021-07-31 12:52:49 -04:00
Konicai b86648332a
Auth type refactor in internal config (#2410) 2021-07-28 19:44:09 -04:00
Redned e73b7f5941 Use Minecraft color codes in console/logs, clean up log output and fix #1606
TerminalConsoleAppender lets us use the legacy colors on their own, so don't do our own ANSI handling.
2021-07-24 12:52:28 -05:00
Redned 1a0ac26398 Move leak detector to standalone bootstrap class 2021-07-18 17:44:08 -05:00
RednedEpic ff280ef192 Replace Reflections usage with an annotation processor
Reduces jar size by about 1.5-2mb
2021-07-17 13:36:04 -05:00
Redned f7ef90278b
Implement a new registry system (#2306)
Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
2021-07-12 21:19:40 -04:00
Camotoy 9eec08b9dc
Depend on Velocity release 3.0.0 2021-07-06 15:37:58 -04:00
Camotoy fe1ba5ba5c
Support Velocity 3.0.0 by default 2021-07-05 21:07:13 -04:00
Camotoy 62174c0e3b
Spigot plugin fixes
- If non-NMS world adapter: don't try to load a chunk if it doesn't exist
- Don't error out with older Spigot versions if a gamerule doesn't exist
2021-06-28 20:48:44 -04:00
Camotoy 5b1d815926
Bump NMS adapter version 2021-06-26 14:08:59 -04:00
Camotoy 3220190904
Relocate ASM (fixes #2315) 2021-06-23 13:57:03 -04:00
Camotoy 3a2cff7864
Clean up a bunch
Mostly checked with IntelliJ, but manually performed. The only issue I possibly anticipate is item name/lore issues, but the new method should be technically better.
2021-06-20 21:42:22 -04:00
Camotoy a24d2a957c
Don't assume that Velocity plugin names and versions are not present 2021-06-09 18:46:34 -04:00
Camotoy 511cfd1ae8
Update Geyser version to 1.4.0-SNAPSHOT 2021-06-08 08:55:56 -04:00
Camotoy b41552faf3
Use ViaVersion master branch 2021-06-07 14:56:29 -04:00
Camotoy 3cdc4c767d
Don't start if Floodgate is outdated 2021-06-06 19:01:16 -04:00
Camotoy 19f8e2dfac
Merge branch 'master' of https://github.com/GeyserMC/Geyser into feature/1.17 2021-06-06 11:42:59 -04:00
Tim203 1ded2086e3
Merge remote-tracking branch 'origin/floodgate-2.0' into feature/1.17
# Conflicts:
#	connector/src/main/java/org/geysermc/connector/network/UpstreamPacketHandler.java
2021-06-06 01:16:57 +02:00
Camotoy 4f23066b88
Merge branch 'viaversion4.0.0' into feature/1.17 2021-06-02 11:55:48 -04:00
Camotoy ebf726ce9e
Yeet cache chunks
So many features require this config option, and we don't intend on supporting it being both disabled and enabled.
2021-06-01 15:36:33 -04:00
Konicai 4c542ba2c4
Register permissions in Spigot plugin.yml (#2246) 2021-05-31 22:35:25 -04:00
Tim203 776fc4e933
Merge remote-tracking branch 'origin/master' into floodgate-2.0
# Conflicts:
#	connector/src/main/java/org/geysermc/connector/GeyserConnector.java
#	connector/src/main/java/org/geysermc/connector/utils/SettingsUtils.java
2021-05-26 02:17:33 +02:00
Camotoy 505de0e0d5
Remove Geyser-Bukkit migration 2021-05-24 19:25:35 -04:00
Camotoy 986701f06f
Merge branch 'master' of https://github.com/GeyserMC/Geyser into feature/1.17 2021-05-23 21:31:40 -04:00
Camotoy 4734ce2059
Update MCProtocolLib + PacketLib (#2211)
By updating these dependencies, we bring in a couple fixes that should improve network performance:

    Use TCP_NODELAY for the Java connection
    Use Epoll/KQueue if possible for the Java connection
    Only use one event loop for the Java connection
    Fix Netty dependencies so Spigot and BungeeCord can use native network types

Currently, Geyser-Spigot pre-1.12 breaks with these changes. It is unlikely that this will be fixed.
2021-05-23 15:55:01 -04:00
Hellohi3654 f831557919
Update pom.xml (#2220) 2021-05-22 09:26:47 -04:00
Camotoy b5307ab3ed
21w20a support 2021-05-19 22:24:11 -04:00
Camotoy 50bea0e180
Update to the latest ViaVersion changes 2021-05-01 00:30:01 -04:00
Camotoy e45215d1ea
Update to support ViaVersion 4.0.0 for Spigot integration
This breaks compatibility with ViaVersion 3.2.1.
2021-04-24 15:18:41 -04:00
Camotoy 86b2901f02
1.16.220 support (#2105)
This update does not break compatibility with any other currently supported version of Bedrock.

Co-authored-by: Redned <redned235@gmail.com>
2021-04-06 00:14:06 -04:00
Tim203 644ece124f
Bumped Geyser version to 1.3.0-SNAPSHOT 2021-03-23 01:49:08 +01:00
Tim203 107cd5bd5a
Merge remote-tracking branch 'origin/master' into floodgate-2.0
# Conflicts:
#	connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java
2021-03-23 01:35:02 +01:00
Camotoy 1d8961c498
Allow GeyserWorldManager to be overwritten while still holding a cache (#2036) 2021-03-14 12:26:47 -04:00
Camotoy 48aa586b21
More formatting fixes 2021-03-13 18:07:43 -05:00
Tim203 4229db0a2f
Merge remote-tracking branch 'origin/server-inventory' into floodgate-2.0
# Conflicts:
#	connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java
2021-03-10 20:46:50 +01:00
Tim203 643098e09e
Merge remote-tracking branch 'origin/master' into floodgate-2.0
# Conflicts:
#	connector/src/main/java/org/geysermc/connector/network/UpstreamPacketHandler.java
#	connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java
#	connector/src/main/java/org/geysermc/connector/network/translators/bedrock/BedrockServerSettingsRequestTranslator.java
2021-03-10 20:42:37 +01:00
Camotoy ded00dfd97
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2021-03-09 14:45:04 -05:00
Camotoy 9ae7c1de25
1.16.210 support (#2019)
This commit implements 1.16.210 support while still keeping 1.16.100 and 1.16.210 compatibility.

Co-authored-by: AJ Ferguson <AJ-Ferguson@users.noreply.github.com>
Co-authored-by: rtm516 <rtm516@users.noreply.github.com>
2021-03-09 12:51:48 -05:00
Camotoy ad4196f5a0
Add spacing in lectern Spigot get code 2021-03-08 16:59:59 -05:00
Camotoy da11cd298c
Address requests 2021-03-08 16:57:31 -05:00
Camotoy 814fa95496
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2021-03-06 13:21:28 -05:00
Camotoy 457d7a9fb5
Remove MD-5 repository (#2007) 2021-03-06 13:18:54 -05:00
Camotoy 6775d88704
Handle no-NBT lecterns 2021-02-26 21:53:24 -05:00
Camotoy 13c924f841
Make lecterns more reliable on chunk load in Spigot 2021-02-26 00:54:05 -05:00
Tim203 0832e7d65c
Fixes issue when both Geyser and Floodgate are on the same server 2021-02-25 20:55:00 +01:00
Tim203 c16c66b860
Merge remote-tracking branch 'origin/master' into floodgate-2.0
# Conflicts:
#	connector/pom.xml
#	connector/src/main/java/org/geysermc/connector/GeyserConnector.java
#	connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java
#	connector/src/main/java/org/geysermc/connector/network/translators/bedrock/BedrockNetworkStackLatencyTranslator.java
#	connector/src/main/java/org/geysermc/connector/skin/SkinProvider.java
#	connector/src/main/java/org/geysermc/connector/utils/SettingsUtils.java
2021-02-25 02:28:48 +01:00
Camotoy 85b8fe2734
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2021-02-17 19:33:51 -05:00
YHDiamond 62cbdb8f5c
[ci skip] Fixed if spacing (#1941)
Co-authored-by: yehudahrrs <47502993+yehudahrrs@users.noreply.github.com>
2021-02-16 20:09:18 -05:00
Camotoy 72186d91f1
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2021-02-16 16:47:58 -05:00
Camotoy e0bd5a62a7
Fix up some SpotBugs suggestions (#1911)
This is a manual go-through of some bugs SpotBugs pointed out.
2021-02-16 16:25:46 -05:00
Camotoy aaeca23f54
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2021-02-10 23:53:45 -05:00
Camotoy 1ec589fa35
Enable debug property in Log4J config if applicable (#1906)
With this commit, debug messages in Netty and Protocol will now show if debug mode is enabled in the Geyser standalone config.

There is also some small tuning to the PacketTranslatorRegistry for cleanliness and maybe some minor performance.
2021-02-08 13:30:37 -05:00
Camotoy 47879c913b
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2021-02-04 21:25:29 -05:00
Camotoy c26a2baed6
Add more metrics (#1896)
- Add the Java version being used
- Add the Minecraft server version being used, alongside the platform type that is using that version. Not used for proxies as those have to be on latest to support the latest Minecraft version
2021-02-03 19:54:35 -05:00
Camotoy 254990148c
Fix several world-related errors on Spigot 1.12 (#1886)
- Fix v1.12R1 not being recognized as a world adapter
- Return air if a chunk is not loaded
2021-02-03 19:54:12 -05:00
Camotoy 27fecd7ff7
Update Sponge repository (#1890)
See https://discord.com/channels/142425412096491520/303772747907989504/805571283546144808 (Sponge Discord)
2021-02-04 00:51:11 +00:00
Tim203 5ad2510b87
Merge remote-tracking branch 'origin/master' into floodgate-2.0
# Conflicts:
#	connector/src/main/java/org/geysermc/connector/command/defaults/SettingsCommand.java
#	connector/src/main/java/org/geysermc/connector/network/UpstreamPacketHandler.java
#	connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java
#	connector/src/main/java/org/geysermc/connector/network/session/cache/WindowCache.java
#	connector/src/main/java/org/geysermc/connector/utils/LoginEncryptionUtils.java
#	connector/src/main/java/org/geysermc/connector/utils/StatisticsUtils.java
2021-02-01 12:02:49 +01:00
Camotoy 3dc5890649
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2021-01-22 13:36:06 -05:00
ScxLore1216 0b9b3eb127
Update bungeecord-api to 1.16-R0.4-SNAPSHOT (#1857) 2021-01-21 18:00:18 -05:00
Camotoy f7822e07eb
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2021-01-17 11:12:38 -05:00
Camotoy 2d9baf1bfc
Send message to Java if command is Bedrock-only (#1834)
* Send message to Java if command is Bedrock-only

If a Java player attempts to use a Bedrock-only command, such as `geyser statistics`, they will get an error message stating that this command is only for Bedrock players.

This commit also cleans up Velocity Adventure dependency usage. Issues were caused because of the way relocation works and because Velocity also uses Adventure.

* Only look for a session if we have to

* Update languages submodule
2021-01-16 22:18:13 -05:00
AJ Ferguson 196c9f5c17 Remove debug lines 2021-01-13 19:19:01 -09:00
Camotoy 4db9ec92bf
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2021-01-11 19:46:39 -05:00
Camotoy 2cc8726c12
Shade in the entire net.kyori package (#1826) 2021-01-11 14:11:21 -05:00
Camotoy 54fb56ea85
Add legacy crafting support for Spigot and finish up standalone 2021-01-09 16:45:32 -05:00
Tim203 5ad495ce97
Merge remote-tracking branch 'origin/master' into floodgate-2.0
# Conflicts:
#	common/src/main/java/org/geysermc/common/window/CustomFormBuilder.java
#	common/src/main/java/org/geysermc/common/window/CustomFormWindow.java
#	common/src/main/java/org/geysermc/common/window/FormWindow.java
#	common/src/main/java/org/geysermc/common/window/ModalFormWindow.java
#	common/src/main/java/org/geysermc/common/window/SimpleFormWindow.java
#	common/src/main/java/org/geysermc/common/window/button/FormButton.java
#	common/src/main/java/org/geysermc/common/window/button/FormImage.java
#	common/src/main/java/org/geysermc/common/window/component/DropdownComponent.java
#	common/src/main/java/org/geysermc/common/window/component/InputComponent.java
#	common/src/main/java/org/geysermc/common/window/component/SliderComponent.java
#	common/src/main/java/org/geysermc/common/window/component/StepSliderComponent.java
#	common/src/main/java/org/geysermc/common/window/component/ToggleComponent.java
#	common/src/main/java/org/geysermc/common/window/response/CustomFormResponse.java
#	common/src/main/java/org/geysermc/common/window/response/ModalFormResponse.java
#	common/src/main/java/org/geysermc/common/window/response/SimpleFormResponse.java
#	common/src/main/java/org/geysermc/floodgate/util/EncryptionUtil.java
#	connector/src/main/java/org/geysermc/connector/network/session/cache/WindowCache.java
2021-01-04 13:37:58 +01:00
Camotoy 8317961340
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2021-01-01 14:20:52 -05:00
Camotoy 186d94917a
Update copyright to 2021 (#1772)
* Update copyright to 2021

Free commit!

* These don't need a copyright

* Don't downgrade the mappings
2021-01-01 10:10:36 -05:00
Camotoy a17f2203a8
Fix oddities in chunk sections with older Spigot versions (#1758) 2020-12-29 21:49:36 -05:00
Camotoy 2265de3ae9
lecterns 2020-12-28 00:29:27 -05:00
Tim203 cd13e03730
Merge remote-tracking branch 'origin/master' into floodgate-2.0
# Conflicts:
#	connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java
#	connector/src/main/java/org/geysermc/connector/network/translators/bedrock/BedrockNetworkStackLatencyTranslator.java
#	connector/src/main/java/org/geysermc/connector/network/translators/java/JavaJoinGameTranslator.java
#	connector/src/main/java/org/geysermc/connector/utils/SettingsUtils.java
2020-12-15 22:06:59 +01:00
Camotoy 799f6341c8
Fix Netty dependency usage on Velocity (#1672) 2020-12-13 23:03:11 -05:00
qlow a173005767
Added IGeyserPingPassthrough#getPingInformation(InetSocketAddress) to make logging of the pinging IPs possible (#1633)
Co-authored-by: qlow <info@qlow.eu>
2020-12-07 14:04:50 -05:00
Camotoy 0215c383b0
GUI: Don't exit if there is a config error (#1600)
Leave the window open so the user understands there is an error.

This also changes the exit code to 1 when exiting without a GUI since we have an error.
2020-11-27 18:55:33 -05:00
circuit10 a70d3e2150
Fix inconsistencies with movement and position (#699)
Movement is now significant better, especially on slabs, stairs, and other half-blocks.

Co-authored-by: RednedEpic <redned235@gmail.com>
Co-authored-by: DoctorMacc <toy.fighter1@gmail.com>
Co-authored-by: Tim203 <mctim203@gmail.com>
Co-authored-by: Camotoy <20743703+DoctorMacc@users.noreply.github.com>
2020-11-20 14:56:39 -05:00
rtm516 4297215420
More chat fixes (#1557)
* Fix positional translation arguments not being handled

* Fix locale fallback

* Fix command completion

* Remove the expensive call to `containsKey`

* Unify adventure versions

* Fix some more formatting issues due to parity

* Fix and update tests

* Update adventure

* Add Javadoc for getCommandNames

* Formatting

Co-authored-by: Camotoy <20743703+DoctorMacc@users.noreply.github.com>
2020-11-18 23:18:36 +00:00
Tim203 b8f398aa3c
Merge remote-tracking branch 'origin/master' into floodgate-2.0
# Conflicts:
#	connector/src/main/java/org/geysermc/connector/GeyserConnector.java
#	connector/src/main/java/org/geysermc/connector/network/translators/java/JavaJoinGameTranslator.java
2020-11-18 19:45:25 +01:00
Camotoy 123b074cc7
Update to Bedrock 1.16.100 (#1552)
* Initial work on 1.16.100 - currently crashes the client

* Update runtime item states

* Use new Bedrock runtime IDs

Bedrock now hardcodes block runtime IDs in alphabetical order of the identifiers. This commit updates Geyser to accomodate.

- Remove runtime_block_states.dat and replace it with blockpalette.nbt
- Calculate the block runtime ID based on the order of the block palette
- Separate BlockTranslator.AIR into Bedrock and Java values
- Update the second layer of chunks to use air when not waterlogged
- Don't send item palette for now, as that's what crashes the game (will look into for v415)
- Other misc. changes

* Improve second layer chunk translation

* v415 support

- Add a message warning people they are on a beta version of Geyser

* Update to protocol v417

There are still some mappings changes that need to be gone through.

* Update runtime item states and clean up item frames

* Future-proof enchanment table

* Update for v418

* Update to v419

* Apply proper air ID to waterlogged chunk layer

* Fix missing import

* Remove beta warning

* Update mappings

* Manually patch runtime_item_states and send the ITEMS registry

* Update README

* Disable grindstone and smithing inventories (since they're broken)

* Use artifactory jenkins plugin (#1548)

* Use artifactory jenkins plugin

* Bump version to 1.2.0-SNAPSHOT

Co-authored-by: SupremeMortal <6178101+SupremeMortal@users.noreply.github.com>
2020-11-17 11:03:12 -06:00
RednedEpic 981ac3bf11 Move PlatformType to common module 2020-11-14 17:49:56 -06:00
Camotoy e748240a02
Add more interactive tags (mobile buttons) (#1443)
* Add more interactive tags (mobile buttons)

This expands our support for showing the interactive tags on touchscreen and console setups. This is not complete - specifically, the food compatibility of creatures needs to be expanded upon (I will work on this later and does not stop this PR from being mergable). This also includes:

- Creepers who are ignited with flint and steel now show up properly
- Zombie villagers now shake properly when converting and show their region outfits

* Add more food choices and add more panda entity metadata

* Re-add eating flag

* Remove debug line

* Refactor dimension usage, finish interactive tag usage, bees

* Print statements... ._.

* Don't make eating item packet data a non-constant

* Move BAMBOO to ItemRegistry

* Add missing break

* Make changes

* Minor final changes
2020-11-11 19:28:45 -05:00
rtm516 2d95302b10
Add support for passing config options as arguments (#1506) 2020-11-07 13:17:17 -06:00