Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
776ad37
refactor: cleanup project structure
xXJanisXx Feb 15, 2026
4933b82
feat: basic structure
xXJanisXx Feb 15, 2026
9b116a6
feat: add server registration
xXJanisXx Feb 16, 2026
cf534b4
feat: add bungeecord and waterdog support for server registration
xXJanisXx Feb 16, 2026
96b28b6
chore: some improvements
xXJanisXx Feb 16, 2026
5cc252e
feat: add connection commands
xXJanisXx Feb 19, 2026
1e2aef1
feat: improve server registration
xXJanisXx Feb 19, 2026
b56ce80
feat: server connection
xXJanisXx Feb 19, 2026
d012d5e
chore: small improvements
xXJanisXx Feb 19, 2026
5d5dfca
chore: update readme
xXJanisXx Feb 20, 2026
6e07a5b
chore: bump dependencies
xXJanisXx Mar 7, 2026
785b392
refactor: connection logic
xXJanisXx Mar 7, 2026
ce0172c
feat: improve YamlConfig
xXJanisXx Mar 7, 2026
afb5bac
feat: add connection reload command
xXJanisXx Mar 7, 2026
069e255
chore: remove the prefix from some messages
xXJanisXx Mar 7, 2026
34fd52c
chore: remove unused repositories
xXJanisXx Mar 7, 2026
ddd7906
chore: update copyright year
xXJanisXx Mar 8, 2026
e9a0e44
fix: remove unused permission message
xXJanisXx Mar 8, 2026
c1de1e0
chore: bump gradle to 9.4.0
xXJanisXx Mar 8, 2026
069fd54
chore: bump dependencies
xXJanisXx Mar 27, 2026
3832b4c
feat: add subdomain routing
xXJanisXx Mar 27, 2026
b9e392a
refactor: rename subdomain mappings to routes
xXJanisXx Mar 27, 2026
b771039
feat: add subdomain routing support for bungeecord and waterdogpe
xXJanisXx Mar 27, 2026
9da87ff
refactor: rename subdomain to address and remove enabled option from …
xXJanisXx Apr 1, 2026
98fb354
Merge pull request #20 from simplecloudapp/feat/subdomain-support
xXJanisXx Apr 9, 2026
123696b
chore: bump plugin api
xXJanisXx Apr 9, 2026
7e10e9f
refactor: remove YamlConfig and implement new ConfigurationFactory
xXJanisXx Apr 9, 2026
8bbf2db
feat: add comments in configs
xXJanisXx Apr 9, 2026
3bbed22
chore: bump plugin api to fix enum serialization
xXJanisXx Apr 11, 2026
f563c24
chore: bump config version to 2
xXJanisXx Apr 11, 2026
598554f
feat: ignore list and bump plugin api to support comments in configs
xXJanisXx Apr 11, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 3 additions & 31 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,39 +1,11 @@
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/

### IntelliJ IDEA ###
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
.idea/libraries/
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/
.idea/

### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
### Kotlin ###
.kotlin/

### VS Code ###
.vscode/
Expand Down
10 changes: 0 additions & 10 deletions .idea/codeStyles/Project.xml

This file was deleted.

5 changes: 0 additions & 5 deletions .idea/codeStyles/codeStyleConfig.xml

This file was deleted.

2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [2024] [SimpleCloud]
Copyright [2024-2026] [SimpleCloud]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
18 changes: 11 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,19 @@

> All information about this project can be found in our detailed [documentation][docs-thisproject].

The Server Connection Plugin provides comprehensive player connection management for your network, including network join handling, fallback servers, and navigation commands.
The Server Connection Plugin provides comprehensive player connection management for your network. It automatically registers SimpleCloud v3 servers on your proxy.

## Features

- [x] **Velocity**
- [x] **BungeeCord**
- [x] **Waterdog PE**
- [ ] **Gate**
- [x] **Connection targets**: Connection targets define server groups that players can connect to
- [x] **Matcher Operations**: Match Server names by Operations
- [x] **Server registration**: Automatically registers SimpleCloud servers on your proxy
- [x] **Additional servers**: Add non network servers manually
- [x] **Connection targets**: Define server groups and persistent servers that players can connect to
- [x] **Fallback servers**: Automatically redirect players when a server becomes unavailable
- [x] **Matcher Operations**: Match server names by operations

## Contributing

Expand All @@ -50,11 +54,11 @@ This repository is licensed under [Apache 2.0][license].

[banner]: https://github.com/simplecloudapp/branding/blob/main/readme/banner/plugin/server-connection.png?raw=true

[issue-bug-report]: https://github.com/theSimpleCloud/server-connection-plugin/issues/new?labels=bug&projects=template=01_BUG-REPORT.yml&title=%5BBUG%5D+%3Ctitle%3E
[issue-bug-report]: https://github.com/simplecloudapp/server-connection-plugin/issues/new?labels=bug&projects=template=01_BUG-REPORT.yml&title=%5BBUG%5D+%3Ctitle%3E

[issue-feature-request]: https://github.com/theSimpleCloud/server-connection-plugin/discussions/new?category=ideas
[issue-feature-request]: https://github.com/simplecloudapp/server-connection-plugin/discussions/new?category=ideas

[docs-thisproject]: https://docs.simplecloud.app/plugin/server-connection
[docs-thisproject]: https://docs.simplecloud.app/en/manual/plugin/server-connection

[docs-contribute]: https://docs.simplecloud.app/contribute

Expand Down Expand Up @@ -84,4 +88,4 @@ This repository is licensed under [Apache 2.0][license].

[badge-bluesky]: https://img.shields.io/badge/Follow_@simplecloud.app-d95652.svg?style=flat-square&logo=bluesky&color=27272a

[badge-youtube]: https://img.shields.io/badge/youtube-d95652.svg?style=flat-square&logo=youtube&color=27272a
[badge-youtube]: https://img.shields.io/badge/youtube-d95652.svg?style=flat-square&logo=youtube&color=27272a
62 changes: 16 additions & 46 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar

plugins {
alias(libs.plugins.kotlin)
alias(libs.plugins.shadow)
alias(libs.plugins.sonatype.central.portal.publisher)
`maven-publish`
}

val baseVersion = "0.0.1"
val commitHash = System.getenv("COMMIT_HASH")
val snapshotversion = "${baseVersion}-dev.$commitHash"
val snapshotversion = "${baseVersion}-platform.$commitHash"

allprojects {
group = "app.simplecloud.plugin"
Expand All @@ -18,29 +18,32 @@ allprojects {
repositories {
mavenCentral()
maven("https://buf.build/gen/maven")
maven("https://oss.sonatype.org/content/repositories/snapshots")
maven("https://libraries.minecraft.net")
maven("https://repo.papermc.io/repository/maven-public")
maven("https://repo.simplecloud.app/snapshots")
maven("https://repo.waterdog.dev/releases/")
maven("https://repo.waterdog.dev/snapshots/")
maven("https://repo.opencollab.dev/maven-releases/")
maven("https://repo.opencollab.dev/maven-snapshots/")
}
}

subprojects {
apply(plugin = "org.jetbrains.kotlin.jvm")
apply(plugin = "com.gradleup.shadow")
apply(plugin = "net.thebugmc.gradle.sonatype-central-portal-publisher")
apply(plugin = "maven-publish")

dependencies {
testImplementation(rootProject.libs.kotlin.test)
compileOnly(rootProject.libs.kotlin.jvm)
implementation(rootProject.libs.kotlin.jvm)
implementation(rootProject.libs.kotlin.coroutines.core)
implementation(rootProject.libs.log4j.api)
}

kotlin {
jvmToolchain(21)
compilerOptions {
apiVersion.set(org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_2_0)
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_21)
apiVersion.set(KotlinVersion.KOTLIN_2_0)
jvmTarget.set(JvmTarget.JVM_21)
freeCompilerArgs.add("-Xannotation-default-target=param-property")
}
}

Expand All @@ -50,45 +53,12 @@ subprojects {
}
}

publishing {
repositories {
maven {
name = "simplecloud"
url = uri("https://repo.simplecloud.app/snapshots/")
credentials {
username = System.getenv("SIMPLECLOUD_USERNAME")?: (project.findProperty("simplecloudUsername") as? String)
password = System.getenv("SIMPLECLOUD_PASSWORD")?: (project.findProperty("simplecloudPassword") as? String)
}
authentication {
create<BasicAuthentication>("basic")
}
}
}

publications {
create<MavenPublication>("mavenJava") {
from(components["java"])
}
}
}

signing {
if (commitHash != null) {
return@signing
}

sign(publishing.publications)
useGpgCmd()
}

tasks.named("shadowJar", ShadowJar::class) {
mergeServiceFiles()
relocate("org.spongepowered", "app.simplecloud.plugin.relocate.spongepowered")
relocate("app.simplecloud.plugin.api", "app.simplecloud.plugin.relocate.plugin.api")
archiveFileName.set("${project.name}.jar")

val externalRelocatePath = "app.simplecloud.external"
relocate("kotlinx", "${externalRelocatePath}.kotlinx")
relocate("io", "${externalRelocatePath}.io")
relocate("org", "${externalRelocatePath}.org")
archiveClassifier.set("")
}

tasks.test {
Expand Down
17 changes: 6 additions & 11 deletions connection-bungeecord/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@ plugins {
}

dependencies {
api(project(":connection-shared"))
api("net.kyori:adventure-text-minimessage:4.16.0")
api("net.kyori:adventure-platform-bungeecord:4.3.2")
compileOnly("net.md-5:bungeecord-api:1.20-R0.2")
implementation(project(":connection-shared"))
implementation(libs.adventure.platform.bungeecord)
implementation(libs.bundles.adventure)
compileOnly(libs.simplecloud.api)
compileOnly(libs.bungeecord.api)
}

modrinth {
Expand All @@ -16,9 +17,6 @@ modrinth {
versionType.set("beta")
uploadFile.set(tasks.shadowJar)
gameVersions.addAll(



"1.20",
"1.20.1",
"1.20.2",
Expand All @@ -38,10 +36,7 @@ modrinth {
"1.21.9",
"1.21.10",
"1.21.11",



)
)
loaders.add("bungeecord")
loaders.add("waterfall")
changelog.set("https://docs.simplecloud.app/changelog")
Expand Down

This file was deleted.

Loading