64 lines
1.7 KiB
PowerShell
64 lines
1.7 KiB
PowerShell
# Sync DBC files from src with files on a server
|
|
|
|
# Parse .env
|
|
if (Test-Path ".env") {
|
|
Get-Content ".env" | ForEach-Object {
|
|
if ($_ -match '^[^#\s]+=.+') {
|
|
$name, $value = $_ -split '=', 2
|
|
$name = $name.Trim()
|
|
$value = $value.Trim().Trim('"').Trim("'")
|
|
[System.Environment]::SetEnvironmentVariable($name, $value)
|
|
}
|
|
}
|
|
} else {
|
|
Write-Error ".env not found!"
|
|
exit 1
|
|
}
|
|
|
|
$user = $env:SSH_USER
|
|
$sshHost = $env:SSH_HOST
|
|
$port = $env:SSH_PORT
|
|
|
|
if (-not $user -or -not $sshHost) {
|
|
Write-Error "SSH_USER or SSH_HOST env variables are not defined"
|
|
exit 1
|
|
}
|
|
|
|
if (-not $port) {
|
|
$port = "22"
|
|
}
|
|
|
|
$input = @(
|
|
".\src\Data\ruRU\patch-ruRU-5\DBFilesClient\Achievement.dbc",
|
|
".\src\Data\ruRU\patch-ruRU-Z\DBFilesClient\Spell.dbc",
|
|
".\src\Data\ruRU\patch-ruRU-Z\DBFilesClient\BarberShopStyle.dbc",
|
|
".\src\Data\ruRU\patch-ruRU-Z\DBFilesClient\CreatureDisplayInfoExtra.dbc",
|
|
".\src\Data\ruRU\patch-ruRU-Z\DBFilesClient\SpellVisualKitModelAttach.dbc"
|
|
)
|
|
|
|
$output = "/home/mangos/moonwell-server/env/dist/data/dbc"
|
|
|
|
foreach ($file in $input) {
|
|
if (Test-Path $file) {
|
|
$fileName = Split-Path $file -Leaf
|
|
$outputPath = "$output/$fileName"
|
|
|
|
Write-Host "Copying $fileName to $output..."
|
|
|
|
scp -P $port $file "${user}@${sshHost}:${output}"
|
|
|
|
if ($LASTEXITCODE -eq 0) {
|
|
Write-Host "Running chmod..."
|
|
|
|
ssh -p $port "${user}@${sshHost}" "chown mangos:mangos '$outputPath' && chmod 775 '$outputPath'"
|
|
}
|
|
|
|
} else {
|
|
Write-Warning "Input file not found: $file"
|
|
}
|
|
}
|
|
|
|
Write-Host "Restarting server..."
|
|
ssh -p $port "${user}@${sshHost}" "cd /home/mangos/moonwell-server && docker compose restart ac-worldserver"
|
|
|
|
Write-Host "Done." |