1
0
mirror of https://github.com/GeyserMC/Geyser.git synced 2025-12-23 08:49:23 +00:00
Files
Geyser/bootstrap/standalone/build.gradle.kts
chris 7c47459609 Resolve memory usage issues related to Netty 4.2 update (#5536)
* More proper workaround for direct connection using Netty 4.2

* Add check for outdated Velocity

* BungeeCord support for Netty 4.2

* Use pooled allocator

* Small cleanup: only one allocator system property check, pin comment to static commit

* Set allocator type on Standalone using netty system property

* Don't mess with allocator, both BungeeCord and Velocity set it globally

* Temporarily remove io_uring support

In order to support io_uring transport after the 4.2 update, we'd need to separately handle 4.1 and 4.2 event loop group creation

* Add compileOnly netty io_uring dependency for Geyser-BungeeCord

* Exclude old incubator io_uring dependency on geyser-standalone

---------

Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
2025-05-22 17:43:02 +02:00

51 lines
1.2 KiB
Plaintext

import com.github.jengelman.gradle.plugins.shadow.transformers.Log4j2PluginsCacheFileTransformer
plugins {
application
id("geyser.platform-conventions")
}
dependencies {
api(projects.core)
implementation(libs.terminalconsoleappender) {
exclude("org.apache.logging.log4j")
exclude("org.jline")
}
implementation(libs.bundles.jline)
implementation(libs.bundles.log4j)
}
application {
mainClass.set("org.geysermc.geyser.platform.standalone.GeyserStandaloneBootstrap")
}
tasks.named<Jar>("jar") {
manifest {
// log4j provides multi-release java 9 code which resolves https://github.com/GeyserMC/Geyser/issues/3693
attributes("Multi-Release" to true)
}
}
tasks.withType<com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar> {
archiveBaseName.set("Geyser-Standalone")
// temporary measure - incubator's io_uring is not compatible with 4.2.1
dependencies {
exclude(dependency("io.netty.incubator:.*"))
}
transform(Log4j2PluginsCacheFileTransformer())
}
tasks.named<JavaExec>("run") {
val dir = projectDir.resolve("run")
dir.mkdirs()
jvmArgs("-Dio.netty.leakDetection.level=PARANOID")
workingDir = dir
standardInput = System.`in`
}