ЗАКРЫТЬ
Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

02-дек
17-апр
30-дек
29-дек

Раскрутка Counter-Strike 1.6

Проверка апдейтов сервера [source]

Статус пользователя csnet
сообщение 2.3.2018, 3:47
Сообщение #1
Стаж: 6 лет 1 месяц

Сообщений: 4331
Благодарностей: 3648
Полезность: 705

Набросал консольную прогу для чека апдейтов, авось пригодится.

Код:
program Project2;

{$APPTYPE CONSOLE}

{$R *.res}

uses
System.SysUtils,windows,classes,idhttp,shellapi;

function AnsiContainsText(const AText, ASubText: string): Boolean;
begin
Result := AnsiPos(AnsiUppercase(ASubText), AnsiUppercase(AText)) > 0;
end;

function checkupdates:String;
var
HTTP: TIdHTTP;
my: String;
buffer,f:Tstringlist;
begin

f:=Tstringlist.Create;
buffer:=Tstringlist.Create;
HTTP:= TIdHTTP.Create;

if not fileexists('vers.txt') then begin
f.Text:='13628';
f.SaveToFile('vers.txt');
end;

f.LoadFromFile('vers.txt');
my:=f.Text;

try
Buffer.text:= HTTP.Get( 'http://api.steampowered.com/ISteamApps/UpToDateCheck/v1?appid=730&version=' +trim(my) + '&format=xml');

except
exit;
end;

my:= System.SysUtils.StringReplace(buffer[6], '<required_version>', '', [rfReplaceAll]);
my:= System.SysUtils.StringReplace(my, '</required_version>', '', [rfReplaceAll]);

if AnsiContainsText(buffer[4],'<up_to_date>false') then begin
writeln('need update! send taskkill to srcds.exe');
ShellExecute(0,'open', PChar('cmd.exe'), Pchar('/c taskkill /IM srcds.exe /f'),'',SW_HIDE);
f.Text:=trim(my);
writeln(f.Text);
f.SaveToFile('vers.txt');
end
else if AnsiContainsText(buffer[4],'<up_to_date>true') then begin

writeln('already latest version!');

end;

f.Free;
buffer.Free;
http.Free;

end;


begin
checkupdates;
sleep(3000);
end.



примечание, при наличии апдейта она шлет taskkill а в батнике запуска должно быть чтото типа

start /wait f:/updater/steamcmd.exe +login anonymous +force_install_dir F:\server27015 +app_update 740 +quit
REG DELETE HKCU\Software\Valve\Steam\ActiveProcess /v SteamClientDll /f
start /wait "" F:\server27015\revloader.exe

и да процедура вместо функции, но влом.

Отредактировал: csnet, - 2.3.2018, 3:49


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: