Starta en server om den inte är igång med .bat

Permalänk
Medlem

Starta en server om den inte är igång med .bat

Behöver lite hjälp om detta är möjligt med en bat fil.

Jag vill köra denna bat fil varje dag för att starta en hlds server ifall den krashat. Att få igång själva hlds har jag inte problem med. Jag har problem med att få bat filen att förstå att den inte ska starta hlds ifall hlds redan körs.

Går det göra med en bat fil?
Och vad skriver jag ifalll det går?

cd c:\hlserver start /high c:\hlserver\hlds -game cstrike -console +maxplayers 12

Visa signatur

...

Permalänk
Medlem

bara för att ge lite idéer till dig och de som ska skriva koden till dig
jag kan det inte utantill eller nåt så det får bli bara idéer och tips...

man kan ju skriva ett batscript som öppnar en fil, och ifall programmet
stängs ner / kraschar... samma sak? så öppnar batscriptet programmet igen
och kör om o om igen tills du stänger batscript fönstret...

vet dock inte om CS servrarnas program stängs ner när kraschar eller
om det bara låser sig...

men en liten idé iaf

Permalänk
Medlem

HLDS servrarna iallfall min burkar krasha dvs stängas ned. Det behöver inte vara allt för komplicerat.

EDIT: problemet jag har nu är att om jag lägger in min nuvarande bat fil i schema lagda aktiviteter så startas en ny HLDS upp ifall det redan finns en hlds och man får ett felmeddelande pga att servrana kör på samma port.

Mvh bugg

Visa signatur

...

Permalänk
Medlem

Inte helt säker på om detta är vad du söker, men den borde hålla igång servern även om den skulle crasha:

cd c:\hlserver :start start /wait /high c:\hlserver\hlds -game cstrike -console +maxplayers 12 goto start

Visa signatur

Oh. Uhm, look... if we built this large wooden badger...

Permalänk
Medlem

cd c:\hlserver :start tasklist | find /i "hlds.exe">nul && (start /high c:\hlserver\hlds -game cstrike -console +maxplayers 12) goto start

Den funkar också, men toffes variant är ju enklare fall den funkar.
Min kollar om hlds.exe körs, gör den inte det så startar den just hlds.exe

Visa signatur

"Sleep is one of those funny things about being a human being" - Marshall Brain
"Mike broke the hubble, Mike broke the hubble" - Mystery Science Theater 3000
"Det finns inget som kan kallas skrot!" säger Mulle Meck, "bara gamla saker som går att använda på nya sätt. Rulla ut och rulla på."

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av toffe_
Inte helt säker på om detta är vad du söker, men den borde hålla igång servern även om den skulle crasha:

cd c:\hlserver :start start /wait /high c:\hlserver\hlds -game cstrike -console +maxplayers 12 goto start

Men denna så måste man starta hlds genom bat filen annars blir det fel. Sedan så startar den en ny hlds ifall den krashar direkt eller?
Det kom efter lite testande också upp en fråge alternativ när jag stängde ned hlds för att låssas som om den krashade. Den frågade typ om man ville köra komandot igen eller inte.

Citat:

code:
cd c:\hlserver
:start
tasklist | find /i "hlds.exe">nul && (start /high c:\hlserver\hlds -game cstrike -console +maxplayers 12)
goto start

Den funkar också, men toffes variant är ju enklare fall den funkar.
Min kollar om hlds.exe körs, gör den inte det så startar den just hlds.exe

Fungerar inte. Startar bara cmd och återupprepar komandot i bat filen men inget händer.

EDIT:
Det skulle kännas bättre om bat filen bara kollade ifall hlds körs. Körs hlds så gör bat filen ingenting. Om hlds inte körs så startar bat filen hlds och sedan avslutas batfilen. Nästa dag så kollar bat filen om hlds kör eller inte. Och så fortsätter det så här varje dag eller kanske varannan dag.

Visa signatur

...

Permalänk
Medlem

Testa med:

cd c:\hlserver tasklist | find /i "hlds.exe">nul || (start /high c:\hlserver\hlds -game cstrike -console +maxplayers 12)

Gjorde fel på ett ställe. Om det inte funkar nu så kör tasklist>log.txt i cmd och skicka log.txt till mig på PM så ska jag allt få det och funka

Visa signatur

"Sleep is one of those funny things about being a human being" - Marshall Brain
"Mike broke the hubble, Mike broke the hubble" - Mystery Science Theater 3000
"Det finns inget som kan kallas skrot!" säger Mulle Meck, "bara gamla saker som går att använda på nya sätt. Rulla ut och rulla på."

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Power
Testa med:

cd c:\hlserver tasklist | find /i "hlds.exe">nul || (start /high c:\hlserver\hlds -game cstrike -console +maxplayers 12)

Gjorde fel på ett ställe. Om det inte funkar nu så kör tasklist>log.txt i cmd och skicka log.txt till mig på PM så ska jag allt få det och funka

KANONERS

Tack du är räddaren i nöden.

Visa signatur

...

Permalänk
Medlem

det var EXAKT såna småscript ja menade

blabla
...programkod
goto blabla

men ja kommer aldrig ihåg det när ja själv behöver det

Permalänk
Medlem

och varför inte??
så fort det program som ska öppnas är öppnat så väntar den bara på
att programmet ska stängas, och om/när det gör det startar batchscriptet
programmet igen och går i dvala ännu en gång...