Releases: camcast3/MinecraftInfra
Release list
nz client (rolling)
Rolling build of the nz Minecraft client (Windows amd64).
Built from da0f996 on main.
Prerelease on purpose — does NOT shadow the player onboarding
releases/latest/download/setup.ps1URL.
First install (one line)
irm https://github.com/camcast3/MinecraftInfra/releases/download/nz-latest/install.ps1 | iexDirect binary
https://github.com/camcast3/MinecraftInfra/releases/download/nz-latest/nz.exe
nz.exe SHA-256
6d29bb0c5b88d79d45af2eaa715a55e483daf14ff25515aa109cfa617910da0b
Setup script setup-v2026.06.28-9258ba7
Player onboarding script for the NegativeZone Minecraft server.
Auto-published when docs/assets/setup.ps1 changed on main.
Install command
irm https://github.com/camcast3/MinecraftInfra/releases/latest/download/setup.ps1 | iexSHA-256
77c8e4f1580cfb20ae090d4c9cbba4e863cc0019db237ddccf013d1467c7c0d2
Verify before running (optional, recommended)
$url = 'https://github.com/camcast3/MinecraftInfra/releases/download/setup-v2026.06.28-9258ba7/setup.ps1'
$want = '77c8e4f1580cfb20ae090d4c9cbba4e863cc0019db237ddccf013d1467c7c0d2'
$body = irm $url
$got = (Get-FileHash -InputStream ([IO.MemoryStream]::new([Text.Encoding]::UTF8.GetBytes($body))) -Algorithm SHA256).Hash.ToLower()
if ($got -eq $want) { iex $body } else { throw "SHA-256 mismatch: $got vs $want" }Setup script setup-v2026.06.24-5f266d7
Player onboarding script for the NegativeZone Minecraft server.
Auto-published when docs/assets/setup.ps1 changed on main.
Install command
irm https://github.com/camcast3/MinecraftInfra/releases/latest/download/setup.ps1 | iexSHA-256
ec6565e171abc1eaf823f70de2cebabd827a182fc097f6800b4439c5e782c731
Verify before running (optional, recommended)
$url = 'https://github.com/camcast3/MinecraftInfra/releases/download/setup-v2026.06.24-5f266d7/setup.ps1'
$want = 'ec6565e171abc1eaf823f70de2cebabd827a182fc097f6800b4439c5e782c731'
$body = irm $url
$got = (Get-FileHash -InputStream ([IO.MemoryStream]::new([Text.Encoding]::UTF8.GetBytes($body))) -Algorithm SHA256).Hash.ToLower()
if ($got -eq $want) { iex $body } else { throw "SHA-256 mismatch: $got vs $want" }Migrate script migrate-v2026.06.24-5f266d7
Helper script that migrates client-side settings (keybinds, video
options, OptiFine/shader settings, JourneyMap and Xaero waypoints,
creative hotbars) from an old Minecraft instance into a new one.
Use case: you upgraded modpack versions (e.g. C2E2 0.2.0 -> 0.4.2)
from a non-setup-managed install (CurseForge instance, manual
zip, etc.) and your settings didn't carry over, but you still
have a copy of the old instance folder. Installs done via
setup.ps1 already preserve these automatically on upgrade.
servers.dat is intentionally NOT copied — single-server pack
policy lets the build pipeline push DNS/backend changes to
existing players.
Auto-published when docs/assets/migrate-settings.ps1 changed on main.
Install command
irm https://github.com/camcast3/MinecraftInfra/releases/download/migrate-v2026.06.24-5f266d7/migrate-settings.ps1 | iexThe script auto-detects Prism and CurseForge instances and prompts
you to pick the source and destination, then previews the plan and
asks for confirmation before copying anything. Existing files in
the destination are first moved to _migration-backup-<timestamp>\
so the operation is fully reversible.
SHA-256
060c012436f7072665e4d8ae513cc8a22fc396d964e84bf8d6e6414ea14ebdee
Verify before running (optional, recommended)
$url = 'https://github.com/camcast3/MinecraftInfra/releases/download/migrate-v2026.06.24-5f266d7/migrate-settings.ps1'
$want = '060c012436f7072665e4d8ae513cc8a22fc396d964e84bf8d6e6414ea14ebdee'
$body = irm $url
$got = (Get-FileHash -InputStream ([IO.MemoryStream]::new([Text.Encoding]::UTF8.GetBytes($body))) -Algorithm SHA256).Hash.ToLower()
if ($got -eq $want) { iex $body } else { throw "SHA-256 mismatch: $got vs $want" }Setup script setup-v2026.06.14-c803bf1
Player onboarding script for the NegativeZone Minecraft server.
Auto-published when docs/assets/setup.ps1 changed on main.
Install command
irm https://github.com/camcast3/MinecraftInfra/releases/latest/download/setup.ps1 | iexSHA-256
11724c66cd4e0c7dc23c53f95ab0ecb3596d6278019ca3308703642005fa4314
Verify before running (optional, recommended)
$url = 'https://github.com/camcast3/MinecraftInfra/releases/download/setup-v2026.06.14-c803bf1/setup.ps1'
$want = '11724c66cd4e0c7dc23c53f95ab0ecb3596d6278019ca3308703642005fa4314'
$body = irm $url
$got = (Get-FileHash -InputStream ([IO.MemoryStream]::new([Text.Encoding]::UTF8.GetBytes($body))) -Algorithm SHA256).Hash.ToLower()
if ($got -eq $want) { iex $body } else { throw "SHA-256 mismatch: $got vs $want" }Setup script setup-v2026.06.14-b3cc51a
Player onboarding script for the NegativeZone Minecraft server.
Auto-published when docs/assets/setup.ps1 changed on main.
Install command
irm https://github.com/camcast3/MinecraftInfra/releases/latest/download/setup.ps1 | iexSHA-256
ec6565e171abc1eaf823f70de2cebabd827a182fc097f6800b4439c5e782c731
Verify before running (optional, recommended)
$url = 'https://github.com/camcast3/MinecraftInfra/releases/download/setup-v2026.06.14-b3cc51a/setup.ps1'
$want = 'ec6565e171abc1eaf823f70de2cebabd827a182fc097f6800b4439c5e782c731'
$body = irm $url
$got = (Get-FileHash -InputStream ([IO.MemoryStream]::new([Text.Encoding]::UTF8.GetBytes($body))) -Algorithm SHA256).Hash.ToLower()
if ($got -eq $want) { iex $body } else { throw "SHA-256 mismatch: $got vs $want" }Setup script setup-v2026.06.14-9dd87bf
Player onboarding script for the NegativeZone Minecraft server.
Auto-published when docs/assets/setup.ps1 changed on main.
Install command
irm https://github.com/camcast3/MinecraftInfra/releases/latest/download/setup.ps1 | iexSHA-256
1ce1e8cc89bc9a6792166d773e73dc7ceeedacaf703131f353a3d74e1d69c795
Verify before running (optional, recommended)
$url = 'https://github.com/camcast3/MinecraftInfra/releases/download/setup-v2026.06.14-9dd87bf/setup.ps1'
$want = '1ce1e8cc89bc9a6792166d773e73dc7ceeedacaf703131f353a3d74e1d69c795'
$body = irm $url
$got = (Get-FileHash -InputStream ([IO.MemoryStream]::new([Text.Encoding]::UTF8.GetBytes($body))) -Algorithm SHA256).Hash.ToLower()
if ($got -eq $want) { iex $body } else { throw "SHA-256 mismatch: $got vs $want" }Setup script setup-v2026.06.14-9378e45
Player onboarding script for the NegativeZone Minecraft server.
Auto-published when docs/assets/setup.ps1 changed on main.
Install command
irm https://github.com/camcast3/MinecraftInfra/releases/latest/download/setup.ps1 | iexSHA-256
3bab3f7b11cf3bca0fea24d87aace00502e0adf6bc4a7553399485ba150d09a5
Verify before running (optional, recommended)
$url = 'https://github.com/camcast3/MinecraftInfra/releases/download/setup-v2026.06.14-9378e45/setup.ps1'
$want = '3bab3f7b11cf3bca0fea24d87aace00502e0adf6bc4a7553399485ba150d09a5'
$body = irm $url
$got = (Get-FileHash -InputStream ([IO.MemoryStream]::new([Text.Encoding]::UTF8.GetBytes($body))) -Algorithm SHA256).Hash.ToLower()
if ($got -eq $want) { iex $body } else { throw "SHA-256 mismatch: $got vs $want" }Setup script setup-v2026.06.14-613f026
Player onboarding script for the NegativeZone Minecraft server.
Auto-published when docs/assets/setup.ps1 changed on main.
Install command
irm https://github.com/camcast3/MinecraftInfra/releases/latest/download/setup.ps1 | iexSHA-256
605790181045491f25c88926dc46f4aa2368fcb526ea6c0683318344e4368cd9
Verify before running (optional, recommended)
$url = 'https://github.com/camcast3/MinecraftInfra/releases/download/setup-v2026.06.14-613f026/setup.ps1'
$want = '605790181045491f25c88926dc46f4aa2368fcb526ea6c0683318344e4368cd9'
$body = irm $url
$got = (Get-FileHash -InputStream ([IO.MemoryStream]::new([Text.Encoding]::UTF8.GetBytes($body))) -Algorithm SHA256).Hash.ToLower()
if ($got -eq $want) { iex $body } else { throw "SHA-256 mismatch: $got vs $want" }Migrate script migrate-v2026.06.14-b3cc51a
Helper script that migrates client-side settings (keybinds, video
options, OptiFine/shader settings, JourneyMap and Xaero waypoints,
creative hotbars) from an old Minecraft instance into a new one.
Use case: you upgraded modpack versions (e.g. C2E2 0.2.0 -> 0.4.2)
from a non-setup-managed install (CurseForge instance, manual
zip, etc.) and your settings didn't carry over, but you still
have a copy of the old instance folder. Installs done via
setup.ps1 already preserve these automatically on upgrade.
servers.dat is intentionally NOT copied — single-server pack
policy lets the build pipeline push DNS/backend changes to
existing players.
Auto-published when docs/assets/migrate-settings.ps1 changed on main.
Install command
irm https://github.com/camcast3/MinecraftInfra/releases/download/migrate-v2026.06.14-b3cc51a/migrate-settings.ps1 | iexThe script auto-detects Prism and CurseForge instances and prompts
you to pick the source and destination, then previews the plan and
asks for confirmation before copying anything. Existing files in
the destination are first moved to _migration-backup-<timestamp>\
so the operation is fully reversible.
SHA-256
060c012436f7072665e4d8ae513cc8a22fc396d964e84bf8d6e6414ea14ebdee
Verify before running (optional, recommended)
$url = 'https://github.com/camcast3/MinecraftInfra/releases/download/migrate-v2026.06.14-b3cc51a/migrate-settings.ps1'
$want = '060c012436f7072665e4d8ae513cc8a22fc396d964e84bf8d6e6414ea14ebdee'
$body = irm $url
$got = (Get-FileHash -InputStream ([IO.MemoryStream]::new([Text.Encoding]::UTF8.GetBytes($body))) -Algorithm SHA256).Hash.ToLower()
if ($got -eq $want) { iex $body } else { throw "SHA-256 mismatch: $got vs $want" }