Es gibt das Tools
srcupdatecheck, welches den Steamserver nach Updates befragt. Das ganze ist eigentlich für Linux geschrieben. Da es sich bei dem Script aber um Python handelt, könnte man dieses umschreiben. Da ich bei meiner Windows-Installation Python zur Zeit geschrottet habe und sockets nicht nutzen kann, habe ich auch keine Möglichkeit das zur Zeit umzuschreiben.
Anstatt der Ausgabe des Textes, kann man durch Python auch ein Programm starten lassen, welches die Server updatet. Einziger Nachteil an der Sache ist, dass laufende Server nicht aktualisiert werden können. Das ist der Nachteil vom Optlock.
Dazu könnte man sich eine Update-Strategie ausdenken. Unter anderem gäbe es auch die Möglichkeit eine getrennte Masterinstallation laufen zu lassen die laufend aktualisiert wird und Gameserver, die über eine Bat-Datei gestartet werden, können vor jedem Start die Dateien vom Masterserver in das eigene Verzeichnis kopieren. Dafür sollte es auch unter Windows einen Optionsschalter geben, dass nur neue Dateien kopiert werden.
Was ich bis jetzt noch nicht getestet habe, ist der Verhalten, wenn man Symlinks für einen Gameserver nutzt (ja, geht auch unter Windows), und dann anstatt zu kopieren einfach nur noch den Masterserver aktualisiert und dann nochmal alle Symlinks updatet (manchmal kommen ja neue Dateien hinzu).
Ich werde es zwischendurch mal ein bisschen mit cygwin testen. Darüber kann man auch prima das Hldsupdatetool mit in shell-scripts einbinden.
Also könnte die Kombination aus Serverwatch, Cygwin (+Python), Symlinks und dem Taskplaner einem einiges an Arbeit abgenommen werden.