Commit Graph

555 Commits

Author SHA1 Message Date
Camotoy 18ad652bcb
Merge branch 'master' of https://github.com/GeyserMC/Geyser 2024-06-10 16:59:42 -04:00
RK_01 edee5e7a8e
Add builtin server transfer support for ViaProxy (#4723) 2024-06-10 01:43:10 +02:00
onebeastchris 8ae1150c80 Remove unused lectern code in ModWorldManager, fix spelling error in SessionLoginEvent 2024-06-07 19:47:21 +02:00
RK_01 9b776b5321
Fixed remote config being reset everytime when accessed on Geyser-ViaProxy (#4722) 2024-06-07 19:26:59 +02:00
RK_01 c3994a677b
Override forward-hostname setting if ViaProxy wildcard domain handling is enabled (#4720) 2024-06-07 00:54:33 +02:00
onebeastchris aaad10b8c9 Merge remote-tracking branch 'upstream/master' into dev 2024-06-03 20:54:10 +02:00
chris 63c84bc25b
Yeet lectern cache (#4695)
* attempt to yeet lectern cache

* yeet lecternutils usage

* properly update lecterns

* yeet accidental diff
2024-05-29 00:39:39 -04:00
chris 0fcf0f9b4f
Update Bungee version check, create logger earlier (#4697)
* use the logger where possible instead of system.out.print

* make loggers final

* yeet unused constructors

* velocity is more complicated
2024-05-28 17:23:19 +02:00
Camotoy db166ad8de
Small optimizations and BlockStateValues reduction 2024-05-20 21:26:01 -04:00
Camotoy 1e9dbaf38b
Here is the Spigot change 2024-05-18 16:54:42 -04:00
Camotoy a439f3e3d7
Fix compilation for Spigot 2024-05-17 21:14:59 -04:00
Camotoy cbaa9cd2a0
Block refactory 2024-05-16 23:12:06 -04:00
Camotoy 9bca012194
Bump Erosion 2024-05-15 15:31:02 -04:00
chris 86dafbc108
Ensure we load mod resources correctly on Geyser-NeoForge (#4651)
* correctly load jar resource files on neoforge

* also add support for neoforge-floodgate
2024-05-12 10:49:08 +02:00
basaigh a39cd65537
Fix velocity ping passthrough (#4626) 2024-05-03 13:53:47 +02:00
Camotoy 6a214f235c
Remove duplicate method 2024-05-02 13:07:18 -04:00
Camotoy efda13421f
Merge branch 'master' into feature/1.20.5 2024-05-02 12:58:46 -04:00
chris 1291b89e64
Ensure proper Geyser starting/disabling when Geyser is used on a client (#4621)
* Ensure proper Geyser starting/disabling when Geyser is used on a client

* also set correct remote port

* only use direct connection on server, not client, actually override remote port
2024-05-02 00:29:33 +02:00
onebeastchris 255835438d viaversion 4.10.0 compat, indicate 1.20.6 support on modrinth 2024-04-30 21:59:38 +02:00
onebeastchris dd745b901f move to paper-adapters 2024-04-30 20:48:10 +02:00
onebeastchris 5d3630cf23 ominous banners - this really isn't ideal 2024-04-29 23:19:18 +02:00
onebeastchris 8b7b8cdffd Properly shutdown LocalSession's, ensure transferring works properly regardless if we're injected or not 2024-04-29 16:08:14 +02:00
onebeastchris 82123aecf1 Fix: Modded platform injector not being used 2024-04-28 23:52:23 +02:00
onebeastchris 9b1e45007a Fix injectors, should work with Spigot/Paper 1.20.5 now 2024-04-28 23:41:13 +02:00
RK_01 42a9ba617b
Update ViaProxy platform (#4607)
* Update ViaProxy API usage

* Don't reference ViaProxy API in dummy application
2024-04-26 20:06:37 +02:00
chris a57e7b54dc
Update ViaVersion api usage to be compatible with ViaVersion 4.10 (#4606) 2024-04-26 16:36:47 +02:00
onebeastchris 91a74603c7 idea: deal with cookies and transfer 2024-04-26 14:50:48 +02:00
onebeastchris 16cb76f523 neoforge 1.20.5 boots 2024-04-25 17:38:03 +02:00
Camotoy b29e0d9d10
Move MCProtocolLib to dev - package ID change 2024-04-24 16:39:35 -04:00
onebeastchris 687d299ff5
target 1.20.5 release, build neoforge again 2024-04-24 16:26:59 -04:00
onebeastchris c48428daf0
init: pick item component change 2024-04-24 16:26:58 -04:00
onebeastchris 6a5efa3c9d
Start on 1.20.5 mod platform support - NeoForge (temporarily) excluded
Also fixes lecterns, and block break speed calculations
2024-04-24 16:26:58 -04:00
chris 94f664ad8d
Fix: Properly check whether the `so_reuseport` socket option is available (#4579)
* Try to properly check if so_reuseport is available

* io_uring "support"

* comment out io_uring, for now

* Make IO_uring opt-in via `-DGeyser.io_uring=true` flag

* dont include io_uring

* oops - bungee 

editing on mobile is hard

* oops - spigot

* oops - velocity

* properly exclude all io_uring on all platforms except standalone

---------

Co-authored-by: Kas-tle <26531652+Kas-tle@users.noreply.github.com>
2024-04-19 11:50:40 +02:00
chris a24f684123
Update to Gradle 8.7, bump loom to 1.6 (#4565)
* Update to Gradle 8.6, bump loom to 1.6

* update to gradle 8.7
2024-04-14 00:16:26 +02:00
Sage fa441f1c7b
Add ConnectionRequestEvent (#4533)
* Add ConnectionRequestEvent and implement it

* Add debug message and use InetSocketAddress instead of string

* Provide both proxy and real client ip

And add some minor javadocs

* Make ProxyIp nullable

* Apply changes from pr

Co-authored-by: rtm516 <rtm516@users.noreply.github.com>

* Apply changes from pr

Co-authored-by: rtm516 <rtm516@users.noreply.github.com>

* Apply changes from pr

Co-authored-by: rtm516 <rtm516@users.noreply.github.com>

* Bump API version

* Dont JiJ common on mod platforms

---------

Co-authored-by: rtm516 <rtm516@users.noreply.github.com>
Co-authored-by: Kas-tle <26531652+Kas-tle@users.noreply.github.com>
2024-04-01 14:33:12 -07:00
chris d24a4766b4
Shade the Geyser api on modded platforms (#4520) 2024-03-24 16:12:40 +00:00
chris 4fa0bcd01b
Update Jackson (#4512)
* Update jackson

* relocate yaml on velocity
2024-03-21 19:05:41 +01:00
chris 867cf6da05
Feature: JiJ dependencies on modded platforms (#4502)
* Use JiJ inclusion for Fabric/NeoForge to prevent mod conflicts. Further: Don't publish shadow jars to maven.

* Shade and relocate dependencies that don't conform to SemVer on Fabric

* Shade/Relocate dependencies on Fabric to avoid version warnings

* Use relocate function from the build-logic plugin
2024-03-19 23:05:30 +01:00
chris 123990a795
Update ViaVersion api usage 2024-03-02 20:03:18 +01:00
Redned 97fc2de42f
NeoForge Platform Support (#3781)
* Initial work on Forge platform

* Rework modded platforms to use a common module

* Add support for integrated worlds on modded platforms

* Fix classload errors and move mixins to shared module

* Fix Fabric mixins and check min height in mod world manager

* Add Forge command support

* Add back modrinth publishing

* Don't apply application plugin to shared mod sources

* Fix docs

* Delete unused class

* Clean up repositories

* - Update to 1.20.2
- set custom refmap name
- fixed console commands crashing the server (hasPermission now accepts CommandSourceStack instead of Player)
- Forge wants fastutil relocated, so be it

Current issues:
- ClassNotFound exceptions with classes that are clearly present

* - Fix ClassNotFound errors on Forge due to weird Classloader
- Dont relocate gson

* merge upstream

* oh no

* Bump lombok, architectury-loom

* init: neoforge 1.20.4 support

* NeoForge builds

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Archive neoforge artifacts

* transformForge -> transformNeoForge

* Neoforge boots!
* Fix mixins on neoforge
* Update build/pr file names
* Update mods.toml to new neoforge standard
* Fix refmap naming

* more fixes
- no need to include gson
- cleanup nullable/nonnull annotations
- add more info to geyser dumps on neoforge

* yeet platform executor

* yet another temp branch to figure out the runServer task

* yeet transitive dependency, that cant be right

* Attempt at getting the runServer task to work, part two

* Revert the changes for the runServer task, try and shut down the injector

* Remove spigot weird bug workaround, shut down properly
Also add a compileOnly dependency for the mod module to get rid of spammy false warnings

* Update to latest restart changes
- fix duplicate nodes crashing neoforge
- connector -> geyser in GeyserModCommandExecutor
- create command manager early to fix issues with permission gather event

* Consistent NeoForge spelling, move some dependencies to the version toml

* Add lombok to version catalogue

* Add plugins to version catalogue

* revert move to buildSrc

* Create `assets/geyser/icon.png` to reference icon from a single file on standalone/neoforge/fabric

* add fabric permissions api to libs.versions.toml

---------

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>
Co-authored-by: onebeastchris <github@onechris.mozmail.com>
Co-authored-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>
2024-02-23 17:58:39 +01:00
RK_01 aca368e332
Implemented ViaProxy bootstrap (#4201)
* Implemented ViaProxy bootstrap

* Applied requested changes to code

* Override indra settings to Java 17

* Removed explicit java source/target version

* Added ViaProxy artifact to build.yml

* Added ViaProxy artifact to pullrequest.yml

* Updated ViaProxy API usage

* Implemented floodgate support for ViaProxy

* Depend on stable ViaProxy release

* Initialize command manager and ping passthrough before Geyser#start

* Revert "Initialize command manager and ping passthrough before Geyser#start"

This reverts commit 39356071c4.

* Some ping passthrough improvements

* Merged code properly

* Updated ViaProxy API usage

* Implemented better command handling

* Updated ViaProxy and Geyser API usage

* Combine bootstrap and plugin into one class

* Minor code improvements

* Call Geyser shutdown on plugin disable

* Only call disable if Geyser was enabled once

* Don't send two shutdown done messages

* Use setter for enabled boolean
2024-02-19 22:25:49 +01:00
chris 6a51d8298f
Feature: Rework startup logic (#4377)
* This makes `geyser reload` work the same across all platforms. For example, it ensures that we reload the config to the greatest extent possible (with the exception of compression/injection settings). Additionally, this clears up issues where Extensions were previously disabled during reloading - instead, the new Pre and Post reload events allow extensions to reload whatever necessary on their own.
2024-02-14 12:50:50 +01:00
chris 509e00c138
Fix: Geyser on Velocity after they renamed packet class names :/ (#4399) 2024-01-19 00:19:07 +01:00
chris 3288f422b1
Update ViaVersion api usage (#4386)
- Switch to fluent accessor, since the getter was removed after being deprecated for 3 years
2024-01-12 15:39:53 +01:00
chris 592a58a0c8
Use uuid for bukkit api permission checks (#4363)
* lookup players by uuid instead of name

* Fix: look up Players by UUID for permissions, dont throw if a player can't be found (e.g. disconnected)

* use api method
2023-12-25 20:43:13 +01:00
chris 32a8573651
Fix broken netty util class check (#4357) 2023-12-20 17:59:51 +01:00
chris f3e56d282e
Gracefully fail on older spigot builds due to outdated netty (#4355)
* Test for outdated netty to avoid https://github.com/GeyserMC/Geyser/issues/3814

* capitalization

* bad spigot, go paper
2023-12-20 16:35:48 +01:00
Kas-tle aaf38f46fb Target Java 17 2023-12-14 21:31:14 -05:00
Konicai a13492e0ed Final 1.20.4 cleanup 2023-12-14 21:31:14 -05:00
Konicai 4294982310 fabric: require 1.20.4 as ViaFabric doesn't support 1.20.2 2023-12-14 21:31:14 -05:00