Initial commit: Brass & Sigil monorepo

Self-hosted Minecraft modpack distribution + administration system.

- launcher/  Avalonia 12 desktop client; single-file win-x64 publish.
             Microsoft auth via XboxAuthNet, manifest+SHA-1 mod sync,
             portable install path, sidecar settings.
- server/    brass-sigil-server daemon (.NET 8, linux-x64). Wraps the
             MC subprocess, embedded Kestrel admin panel with cookie
             auth + rate limiting, RCON bridge, scheduled backups,
             BlueMap CLI integration with player markers + skin proxy,
             friend-side whitelist request flow, world wipe with seed
             selection (keep current / random / custom).
- pack/      pack.lock.json (Modrinth + manual CurseForge entries),
             data-only tweak source under tweaks/, build outputs in
             overrides/ (gitignored).
- scripts/   Build-Pack / Build-Tweaks / Update-Pack / Check-Updates
             plus Deploy-Brass.ps1 unified one-shot deploy with
             version-bump pre-flight and daemon-state detection.
This commit is contained in:
Matt Sijbers
2026-05-05 00:19:05 +01:00
commit a1331212cb
99 changed files with 12640 additions and 0 deletions
@@ -0,0 +1,42 @@
modLoader = "lowcodefml"
loaderVersion = "[1,)"
license = "All Rights Reserved"
issueTrackerURL = "https://sijbers.uk/pack/"
[[mods]]
modId = "brassandsigil_tweaks"
version = "1.0.0"
displayName = "Brass & Sigil Tweaks"
description = '''
Server-and-client worldgen and balance tweaks for the Brass & Sigil modpack.
Ships custom configured features, placed features, and Lithostitched worldgen
modifiers that retune third-party content for this pack.
'''
[[dependencies.brassandsigil_tweaks]]
modId = "neoforge"
type = "required"
versionRange = "[21.1,)"
ordering = "NONE"
side = "BOTH"
[[dependencies.brassandsigil_tweaks]]
modId = "minecraft"
type = "required"
versionRange = "[1.21.1,1.22)"
ordering = "NONE"
side = "BOTH"
[[dependencies.brassandsigil_tweaks]]
modId = "lithostitched"
type = "required"
versionRange = "[1.7,)"
ordering = "NONE"
side = "BOTH"
[[dependencies.brassandsigil_tweaks]]
modId = "terralith"
type = "required"
versionRange = "[2.5,)"
ordering = "AFTER"
side = "BOTH"
@@ -0,0 +1,6 @@
{
"type": "lithostitched:add_features",
"biomes": "#terralith:skylands",
"features": "brassandsigil_tweaks:skylands_end_stone_ore",
"step": "underground_ores"
}
@@ -0,0 +1,18 @@
{
"type": "minecraft:ore",
"config": {
"discard_chance_on_air_exposure": 0.0,
"size": 6,
"targets": [
{
"target": {
"predicate_type": "minecraft:tag_match",
"tag": "minecraft:stone_ore_replaceables"
},
"state": {
"Name": "minecraft:end_stone"
}
}
]
}
}
@@ -0,0 +1,16 @@
{
"feature": "brassandsigil_tweaks:skylands_end_stone_ore",
"placement": [
{ "type": "minecraft:count", "count": 3 },
{ "type": "minecraft:in_square" },
{
"type": "minecraft:height_range",
"height": {
"type": "minecraft:uniform",
"min_inclusive": { "absolute": 200 },
"max_inclusive": { "absolute": 250 }
}
},
{ "type": "minecraft:biome" }
]
}
@@ -0,0 +1,6 @@
{
"pack": {
"pack_format": 48,
"description": "Brass & Sigil pack tweaks"
}
}