# Setze das Arbeitsverzeichnis auf den Skript-Ordner
Set-Location -Path (Split-Path -Parent $MyInvocation.MyCommand.Definition)

# Relative Pfade definieren
$sourceConfigPath = "..\DefaultConfig"
$releasePath = "..\Server\release"
$serverExePath = "..\Server\release\Program\Server.exe"

# Ziel-ZIP-Datei basierend auf der Version der Server.exe
if (-Not (Test-Path -Path $serverExePath)) {
    Write-Error "Die Datei $serverExePath wurde nicht gefunden."
    exit 1
}

# Version der Server.exe auslesen
$fileVersionInfo = (Get-Item $serverExePath).VersionInfo
$zipFileName = "Release_$($fileVersionInfo.FileVersion).zip"
$zipFilePath = Join-Path $releasePath $zipFileName

# Sicherstellen, dass das Release-Verzeichnis existiert
if (-Not (Test-Path -Path $releasePath)) {
    New-Item -ItemType Directory -Path $releasePath | Out-Null
}

# Dateien aus DefaultConfig ins Release-Verzeichnis kopieren
Copy-Item -Path $sourceConfigPath\* -Destination $releasePath -Recurse -Force

# Vorhandene ZIP-Datei mit demselben Namen löschen (falls vorhanden)
if (Test-Path -Path $zipFilePath) {
    Remove-Item -Path $zipFilePath -Force
}

# Alle Dateien im Release-Verzeichnis zippen
Compress-Archive -Path "$releasePath\*" -DestinationPath $zipFilePath

Write-Host "ZIP-Archiv wurde erstellt: $zipFilePath"
