* not code stuff * other things * global vars, defines, helpers * onclick hud stuff, orphans, world.dm * controllers and datums * game folder * everything not client/mobs in modules * client folder * stage 1 mob stuff * simple animal things * silicons * carbon things * ayylmaos and monkeys * hyoomahn * icons n shit * sprite fixes * compile fixes * some fixes I cherrypicked. * qdel fixes * forgot brain refractors
80 lines
2.5 KiB
Batchfile
80 lines
2.5 KiB
Batchfile
@echo off
|
|
@title Server Updater
|
|
set HOME = %USERPROFILE%
|
|
call config.bat
|
|
call bin\getcurdate.bat
|
|
echo This will handle downloading git, compiling the server, and applying the update.
|
|
echo ready?
|
|
timeout 120
|
|
if exist updating.lk (
|
|
echo ERROR! A current update script has been detected running. if you know this is a mistake:
|
|
pause
|
|
echo Please be double sure that an update script is not currently running, if you think one might be, close this window. otherwise:
|
|
pause
|
|
)
|
|
echo lock>updating.lk
|
|
|
|
rem if the first arg to nudge.py is not a channel, it is treated as the "source"
|
|
if not defined UPDATE_LOG_CHANNEL set UPDATE_LOG_CHANNEL="UPDATER"
|
|
|
|
python bot\nudge.py %UPDATE_LOG_CHANNEL% "Update job started" >nul 2>nul
|
|
|
|
call bin\updategit.bat
|
|
if %GIT_EXIT% neq 0 (
|
|
echo git pull failed. Aborting update
|
|
python bot\nudge.py %UPDATE_LOG_CHANNEL% "Git pull failed. Aborting update"
|
|
@del updating.lk >nul 2>nul
|
|
pause
|
|
exit /b 1
|
|
)
|
|
if defined PUSHCHANGELOGTOGIT (
|
|
echo compiling change log
|
|
python tools\ss13_genchangelog.py html/changelog.html html/changelogs
|
|
if %ERRORLEVEL% == 0 (
|
|
echo pushing compiled changelog to server
|
|
git add -u html/changelog.html
|
|
git add -u html/changelogs
|
|
git commit -m "Automatic changelog compile, [ci skip]"
|
|
if %ERRORLEVEL% == 0 (
|
|
git push
|
|
)
|
|
REM an error here generally means there was nothing to commit.
|
|
)
|
|
)
|
|
|
|
call bin\findab.bat
|
|
|
|
call bin\copyfromgit.bat
|
|
|
|
|
|
|
|
if not defined PUSHCHANGELOGTOGIT (
|
|
echo compiling change log
|
|
cd gamecode\%AB%
|
|
call python tools\ss13_genchangelog.py html/changelog.html html/changelogs
|
|
cd ..\..
|
|
)
|
|
|
|
|
|
|
|
echo building script.
|
|
call bin\build.bat
|
|
if %DM_EXIT% neq 0 (
|
|
echo DM compile failed. Aborting.
|
|
python bot\nudge.py %UPDATE_LOG_CHANNEL% "DM compile failed Aborting update." >nul 2>nul
|
|
@del /F /Q updating.lk >nul 2>nul
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
if not defined NOWAITUPDATES (
|
|
echo OK, compiled and ready. So at the hit of a button, we can apply the update live. Technically speaking, it's best to wait until near round end, but unless a html/css/js file in the code had been deleted, edited, or moved recently, no ill effects of applying the update will happen, and the worst is that new clients have display oddities relating to in game windows. Existing connections should have no issue.
|
|
echo Ready?
|
|
pause
|
|
)
|
|
@del updating.lk >nul 2>nul
|
|
rmdir /q gamefolder
|
|
mklink /d gamefolder gamecode\%AB% >nul
|
|
python bot\nudge.py %UPDATE_LOG_CHANNEL% "Update job finished. Update will take place next round." >nul 2>nul
|
|
echo Done. The update will automatically take place at round restart.
|
|
timeout 300 |