feat: GamingServices | add GTNH server

This commit is contained in:
2025-11-23 15:24:45 +05:00
parent 78aa702fa0
commit ac2153cce5
3 changed files with 80 additions and 1 deletions

View File

@@ -0,0 +1,77 @@
import { Construct } from "constructs";
import { KubernetesProvider } from "@cdktf/provider-kubernetes/lib/provider";
import { MinecraftServer } from "./utils";
export class GTNH extends Construct {
constructor(
scope: Construct,
id: string,
provider: KubernetesProvider,
namespace: string,
) {
super(scope, id);
new MinecraftServer(this, "gtnh", {
provider,
namespace,
image: "itzg/minecraft-server:java25",
name: "gtnh",
env: [
{
name: "EULA",
value: "TRUE",
},
{
name: "MODE",
value: "survival",
},
{
name: "DIFFICULTY",
value: "easy",
},
{
name: "TYPE",
value: "CUSTOM",
},
{
name: "GENERIC_PACKS",
value: "GT_New_Horizons_2.8.0_Server_Java_17-25",
},
{
name: "GENERIC_PACKS_SUFFIX",
value: ".zip",
},
{
name: "GENERIC_PACKS_PREFIX",
value: "https://downloads.gtnewhorizons.com/ServerPacks/",
},
{
name: "SKIP_GENERIC_PACK_UPDATE_CHECK",
value: "true",
},
{
name: "MEMORY",
value: "12G",
},
{
name: "JVM_OPTS",
value:
"-Dfml.readTimeout=180 -Dfml.queryResult=confirm @java9args.txt",
},
{
name: "CUSTOM_JAR_EXEC",
value: "-jar lwjgl3ify-forgePatches.jar nogui",
},
{
name: "ALLOW_FLIGHT",
value: "TRUE",
},
{
name: "ENABLE_ROLLING_LOGS",
value: "TRUE",
},
],
});
}
}

View File

@@ -4,6 +4,7 @@ import { KubernetesProvider } from "@cdktf/provider-kubernetes/lib/provider";
import { NamespaceV1 } from "@cdktf/provider-kubernetes/lib/namespace-v1"; import { NamespaceV1 } from "@cdktf/provider-kubernetes/lib/namespace-v1";
import { OnePasswordSecret } from "../../utils"; import { OnePasswordSecret } from "../../utils";
import { TerraFirmaGreg } from "./tfg"; import { TerraFirmaGreg } from "./tfg";
import { GTNH } from "./gtnh";
export class GamingServices extends TerraformStack { export class GamingServices extends TerraformStack {
constructor(scope: Construct, id: string) { constructor(scope: Construct, id: string) {
@@ -29,5 +30,6 @@ export class GamingServices extends TerraformStack {
}); });
new TerraFirmaGreg(this, "tfg", provider, namespace); new TerraFirmaGreg(this, "tfg", provider, namespace);
new GTNH(this, "gtnh", provider, namespace);
} }
} }

View File

@@ -37,7 +37,7 @@ metadata:
labels: labels:
app: atm10-server app: atm10-server
spec: spec:
type: ClusterIP type: LoadBalancer
ports: ports:
- name: atm10 - name: atm10
port: 25565 port: 25565