Dateranoth Posted February 6, 2017 Author Share Posted February 6, 2017 It's your lucky day. I had to get up early for work. Haha Link to comment Share on other sites More sharing options...
Dateranoth Posted February 6, 2017 Author Share Posted February 6, 2017 V2.2.2.0 Update! Feature Update. You can now use this script to manage multiple servers on the same machine. Place a copy of the EXE in a different Conan_Server directory, update the INI file to make sure you have no port conflicts, and run the script. A couple of things you might want to do to help manage two or more running at once. Change the ConanServerUtility.exe names to something Utility1 and Utility2 or something like that. Also, you probably should set the Minute about 30 minutes apart from each so they are not restarting at the same time. I also updated the Remote Restart Utility. This version allows you to enter a server IP (x.x.x.x) or Host Name (conan.myservers.com) to help those with dynamic IPs. The password is now case sensitive ( and blank space sensitive ) . When the password is successfully sent, the Utility will now tell you what password you sent, how many bytes it was and the IP:Port you sent it to. This will give you some idea of if you sent the correct Restart Password. On the server side, it still logs unsuccessful password attempts to ConanServerUtility_RestartLog.txt . Plus now it will tell you what password was used while attempting to restart your server. Also, I shortened my shameless plug to visit us when closing the Utilities to 2 seconds. V2.2.2.0 Downloads Complete Version 2.2.2.0 including Source Conan Server Utility V2.2.2.0 Conan Server Remote Restart Utility V2.2.2.0 Conan Server Utility V2.2.2.0 Source Conan Server Remote Restart Utility V2.2.2.0 Source V2.2.2.0 Server Utility Source: Spoiler #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Icon=favicon.ico #AutoIt3Wrapper_Res_Comment=By Dateranoth - Feburary 6, 2017 #AutoIt3Wrapper_Res_Description=Utility for Running Conan Server #AutoIt3Wrapper_Res_Fileversion=2.2.2.0 #AutoIt3Wrapper_Res_LegalCopyright=Dateranoth @ https://gamercide.com #AutoIt3Wrapper_Res_Language=1033 #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** ;By Dateranoth - Feburary 6, 2017 ;Used by https://gamercide.com on their server ;Feel free to change, adapt, and distribute #include <Date.au3> #include <Process.au3> #include <MsgBoxConstants.au3> #include <File.au3> Opt("WinTitleMatchMode", 1) ;1=start, 2=subStr, 3=exact, 4=advanced, -1 to -4=Nocase ;User Variables If FileExists("ConanServerUtility.ini") Then Local $BindIP = IniRead("ConanServerUtility.ini", "Use MULTIHOME to Bind IP? Disable if having connection issues (yes/no)", "BindIP", "yes") Local $g_IP = IniRead("ConanServerUtility.ini", "Game Server IP", "ListenIP", "127.0.0.1") Local $GamePort = IniRead("ConanServerUtility.ini", "Game Server Port", "GamePort", "27015") Local $AdminPass = IniRead("ConanServerUtility.ini", "Admin Password", "AdminPass", "yOuRpaSHeRe") Local $MaxPlayers = IniRead("ConanServerUtility.ini", "Max Players", "MaxPlayers", "20") Local $serverdir = IniRead("ConanServerUtility.ini", "Server Directory. NO TRAILING SLASH", "serverdir", "C:\Game_Servers\Conan_Exiles_Server") Local $UseSteamCMD = IniRead("ConanServerUtility.ini", "Use SteamCMD To Update Server? yes/no", "UseSteamCMD", "yes") Local $steamcmddir = IniRead("ConanServerUtility.ini", "SteamCMD Directory. NO TRAILING SLASH", "steamcmddir", "C:\Game_Servers\SteamCMD") Local $UseRemoteRestart = IniRead("ConanServerUtility.ini", "Use Remote Restart ?yes/no", "UseRemoteRestart", "no") Local $g_Port = IniRead("ConanServerUtility.ini", "Remote Restart Port", "ListenPort", "57520") Local $RestartCode = IniRead("ConanServerUtility.ini", "Remote Restart Password", "RestartCode", "FVtb2DXgp8SYwj7J") Local $RestartDaily = IniRead("ConanServerUtility.ini", "Restart Server Daily? yes/no", "RestartDaily", "no") Local $CheckForUpdate = IniRead("ConanServerUtility.ini", "Check for Update Every Hour? yes/no", "CheckForUpdate", "yes") Local $HotHour1 = IniRead("ConanServerUtility.ini", "Daily Restart Hours? 00-23", "HotHour1", "00") Local $HotHour2 = IniRead("ConanServerUtility.ini", "Daily Restart Hours? 00-23", "HotHour2", "00") Local $HotHour3 = IniRead("ConanServerUtility.ini", "Daily Restart Hours? 00-23", "HotHour3", "00") Local $HotHour4 = IniRead("ConanServerUtility.ini", "Daily Restart Hours? 00-23", "HotHour4", "00") Local $HotHour5 = IniRead("ConanServerUtility.ini", "Daily Restart Hours? 00-23", "HotHour5", "00") Local $HotHour6 = IniRead("ConanServerUtility.ini", "Daily Restart Hours? 00-23", "HotHour6", "00") Local $HotMin = IniRead("ConanServerUtility.ini", "Daily Restart Minute? 00-59", "HotMin", "01") Local $ExMem = IniRead("ConanServerUtility.ini", "Excessive Memory Amount?", "ExMem", "6000000000") Local $ExMemRestart = IniRead("ConanServerUtility.ini", "Restart On Excessive Memory Use? yes/no", "ExMemRestart", "no") Local $SteamFix = IniRead("ConanServerUtility.ini", "Running Server with Steam Open? (yes/no)", "SteamFix", "no") Else IniWrite("ConanServerUtility.ini", "Use MULTIHOME to Bind IP? Disable if having connection issues (yes/no)", "BindIP", "yes") IniWrite("ConanServerUtility.ini", "Game Server IP", "ListenIP", "127.0.0.1") IniWrite("ConanServerUtility.ini", "Game Server Port", "GamePort", "27015") IniWrite("ConanServerUtility.ini", "Admin Password", "AdminPass", "yOuRpaSHeRe") IniWrite("ConanServerUtility.ini", "Max Players", "MaxPlayers", "20") IniWrite("ConanServerUtility.ini", "Server Directory. NO TRAILING SLASH", "serverdir", "C:\Game_Servers\Conan_Exiles_Server") IniWrite("ConanServerUtility.ini", "Use SteamCMD To Update Server? yes/no", "UseSteamCMD", "yes") IniWrite("ConanServerUtility.ini", "SteamCMD Directory. NO TRAILING SLASH", "steamcmddir", "C:\Game_Servers\SteamCMD") IniWrite("ConanServerUtility.ini", "Use Remote Restart ?yes/no", "UseRemoteRestart", "no") IniWrite("ConanServerUtility.ini", "Remote Restart Port", "ListenPort", "57520") IniWrite("ConanServerUtility.ini", "Remote Restart Password", "RestartCode", "FVtb2DXgp8SYwj7J") IniWrite("ConanServerUtility.ini", "Restart Server Daily? yes/no", "RestartDaily", "no") IniWrite("ConanServerUtility.ini", "Check for Update Every Hour? yes/no", "CheckForUpdate", "yes") IniWrite("ConanServerUtility.ini", "Daily Restart Hours? 00-23", "HotHour1", "00") IniWrite("ConanServerUtility.ini", "Daily Restart Hours? 00-23", "HotHour2", "00") IniWrite("ConanServerUtility.ini", "Daily Restart Hours? 00-23", "HotHour3", "00") IniWrite("ConanServerUtility.ini", "Daily Restart Hours? 00-23", "HotHour4", "00") IniWrite("ConanServerUtility.ini", "Daily Restart Hours? 00-23", "HotHour5", "00") IniWrite("ConanServerUtility.ini", "Daily Restart Hours? 00-23", "HotHour6", "00") IniWrite("ConanServerUtility.ini", "Daily Restart Minute? 00-59", "HotMin", "01") IniWrite("ConanServerUtility.ini", "Excessive Memory Amount?", "ExMem", "6000000000") IniWrite("ConanServerUtility.ini", "Restart On Excessive Memory Use? yes/no", "ExMemRestart", "no") IniWrite("ConanServerUtility.ini", "Running Server with Steam Open? (yes/no)", "SteamFix", "no") MsgBox(4096, "Default INI File Made", "Please Modify Default Values and Restart Script") Exit EndIf OnAutoItExitRegister("Gamercide") Global $sFile = "" Global $Server_EXE = "ConanSandboxServer-Win64-Test.exe" Global $PIDFile = @ScriptDir &"\ConanServerUtility_lastpid_tmp" Global $hWndFile = @ScriptDir &"\ConanServerUtility_lasthwnd_tmp" If FileExists($PIDFile) Then Global $ConanPID = FileRead($PIDFile) Global $ConanhWnd = HWnd(FileRead($hWndFile)) Else Global $ConanPID = "0" Global $ConanhWnd = "0" EndIf Func Gamercide() If @exitMethod <> 1 Then $Shutdown = MsgBox(4100, "Shut Down?","Do you wish to shutdown the server?",10) If $Shutdown = 6 Then FileWriteLine(@ScriptDir & "\ConanServerUtility_RestartLog.txt", @YEAR &"-"& @MON &"-"& @MDAY &" "& @HOUR &":"& @MIN &" Server Shutdown by User Input from ConanServerUtility Script") CloseServer() EndIf MsgBox(4096, "Thanks for using our Application", "Please visit us at https://gamercide.com",2) EndIf If $UseRemoteRestart = "yes" Then TCPShutdown() EndIf Exit EndFunc Func CloseServer() Local $PID = ProcessExists($ConanPID) ControlSend($ConanhWnd, "", "", "I" & @CR) ControlSend($ConanhWnd, "", "", "I" & @CR) ControlSend($ConanhWnd, "", "", "^C") WinWaitClose($ConanhWnd, "", 60) If $PID Then ProcessClose($PID) EndIf FileDelete($PIDFile) FileDelete($hWndFile) EndFunc Func GetRSS() Local $oXML = ObjCreate("Microsoft.XMLHTTP") $oXML.Open("GET", "http://steamcommunity.com/games/440900/rss/", 0) $oXML.Send $sFile = _TempFile(@ScriptDir, '~', '.xml') FileWrite($sFile, $oXML.responseText) EndFunc Func ParseRSS() $sXML = $sFile Local $oXML = ObjCreate("Microsoft.XMLDOM") $oXML.Load($sXML) Local $oNames = $oXML.selectNodes("//rss/channel/item/title") Local $aMyDate, $aMyTime _DateTimeSplit(_NowCalc(), $aMyDate, $aMyTime) Local $cDate = "PATCH "& StringFormat("%02d", $aMyDate[3]) &"."& StringFormat("%02d", $aMyDate[2]) &"."& StringFormat("%04d", $aMyDate[1]) Local $cFile = @ScriptDir &"\ConanServerUtility_LastUpdate.txt" For $oName In $oNames If StringRegExp($oName.text,$cDate&"(?i)") Then If FileRead($cFile) = $oName.text Then ;ConsoleWrite("No New Update" & @CRLF) ExitLoop Else FileDelete($cFile) FileWrite($cFile,$oName.text) Local $PID = ProcessExists($ConanPID) If $PID Then FileWriteLine(@ScriptDir & "\ConanServerUtility_RestartLog.txt", @YEAR &"-"& @MON &"-"& @MDAY &" "& @HOUR &":"& @MIN &" ["& $oName.text &"] Restart for Update Requested by ConanServerUtility Script") CloseServer() EndIf ExitLoop EndIf EndIf Next EndFunc Func UpdateCheck() GetRSS() ParseRSS() FileDelete($sFile) EndFunc Func _TCP_Server_ClientIP($hSocket) Local $pSocketAddress, $aReturn $pSocketAddress = DllStructCreate("short;ushort;uint;char[8]") $aReturn = DllCall("ws2_32.dll", "int", "getpeername", "int", $hSocket, "ptr", DllStructGetPtr($pSocketAddress), "int*", DllStructGetSize($pSocketAddress)) If @error Or $aReturn[0] <> 0 Then Return $hSocket $aReturn = DllCall("ws2_32.dll", "str", "inet_ntoa", "int", DllStructGetData($pSocketAddress, 3)) If @error Then Return $hSocket $pSocketAddress = 0 Return $aReturn[0] EndFunc ;==>_TCP_Server_ClientIP If $UseSteamCMD = "yes" Then Local $sFileExists = FileExists($steamcmddir &"\steamcmd.exe") If $sFileExists = 0 Then MsgBox ( 0x0, "SteamCMD Not Found", "Could not find steamcmd.exe at "& $steamcmddir) Exit EndIf Else Local $cFileExists = FileExists($serverdir &"\ConanSandboxServer.exe") If $cFileExists = 0 Then MsgBox ( 0x0, "Conan Server Not Found", "Could not find ConanSandboxServer.exe at "& $serverdir) Exit EndIf Endif If $UseRemoteRestart = "yes" Then ; Start The TCP Services TCPStartup() Local $MainSocket = TCPListen($g_IP, $g_Port, 100) If $MainSocket = -1 Then MsgBox ( 0x0, "TCP Error", "Could not bind to [" & $g_IP & "] Is this the correct Server IP?") Exit EndIf EndIf While True If $UseRemoteRestart = "yes" Then Local $ConnectedSocket = TCPAccept($MainSocket) If $ConnectedSocket >= 0 Then $Count = 0 While $Count < 30 $RECV = TCPRecv($ConnectedSocket,512) $PassCompare = StringCompare($RECV, $RestartCode, 1) If $PassCompare = 0 Then Local $PID = ProcessExists($ConanPID) ; Will return the PID or 0 if the process isn't found. If $PID Then Local $IP = _TCP_Server_ClientIP($ConnectedSocket) Local $MEM = ProcessGetStats($PID, 0) FileWriteLine(@ScriptDir & "\ConanServerUtility_RestartLog.txt", @YEAR &"-"& @MON &"-"& @MDAY &" "& @HOUR &":"& @MIN &" --Work Memory:"& $MEM[0] & _ " --Peak Memory:"& $MEM[1] &" Restart Requested by Remote Host: "& $IP) CloseServer() Sleep (10000) ExitLoop EndIf Else Local $IP = _TCP_Server_ClientIP($ConnectedSocket) FileWriteLine(@ScriptDir & "\ConanServerUtility_RestartLog.txt", @YEAR &"-"& @MON &"-"& @MDAY &" "& @HOUR &":"& @MIN &" Restart ATTEMPT by Remote Host: "& $IP &" WRONG PASSWORD: "& $RECV) ExitLoop EndIf $Count += 1 Sleep (1000) WEnd If $ConnectedSocket <> -1 Then TCPCloseSocket($ConnectedSocket) EndIf EndIf Local $PID = ProcessExists($ConanPID) If $PID = 0 Then If $UseSteamCMD = "yes" Then RunWait(""& $steamcmddir &"\steamcmd.exe +@ShutdownOnFailedCommand 1 +@NoPromptForPassword 1 +login anonymous +force_install_dir "& $serverdir &" +app_update 443030 validate +quit") EndIf If $CheckForUpdate = "yes" Then UpdateCheck() EndIf If $BindIP = "no" Then $ConanPID = Run(""& $serverdir &"\ConanSandbox\Binaries\Win64\"& $Server_EXE &" ConanSandBox?QueryPort="& $GamePort &"?MaxPlayers="& $MaxPlayers &"?AdminPassword="& $AdminPass &"?listen -nosteamclient -game -server -log") Else $ConanPID = Run(""& $serverdir &"\ConanSandbox\Binaries\Win64\ConanSandboxServer-Win64-Test.exe ConanSandBox?MULTIHOME="& $g_IP &"?QueryPort="& $GamePort &"?MaxPlayers="& $MaxPlayers &"?AdminPassword="& $AdminPass &"?listen -nosteamclient -game -server -log") EndIf $ConanhWnd = WinGetHandle(WinWait(""& $serverdir &"", "", 70)) If $SteamFix = "yes" Then WinWait(""& $Server_EXE &" - Entry Point Not Found","",5) If WinExists(""& $Server_EXE &" - Entry Point Not Found") Then ControlSend(""& $Server_EXE &" - Entry Point Not Found", "", "", "{enter}") EndIf WinWait(""& $Server_EXE &" - Entry Point Not Found","",5) If WinExists(""& $Server_EXE &" - Entry Point Not Found") Then ControlSend(""& $Server_EXE &" - Entry Point Not Found", "", "", "{enter}") EndIf EndIf FileDelete($PIDFile) FileDelete($hWndFile) FileWrite($PIDFile,$ConanPID) FileWrite($hWndFile,String($ConanhWnd)) FileSetAttrib($PIDFile,"+HT") FileSetAttrib($hWndFile,"+HT") Else Local $MEM = ProcessGetStats($PID, 0) If $MEM[0] > $ExMem And $ExMemRestart = "no" Then FileWriteLine(@ScriptDir & "\ConanServerUtility_ExcessiveMemoryLog.txt", @YEAR &"-"& @MON &"-"& @MDAY &" "& @HOUR &":"& @MIN &" --Work Memory:"& $MEM[0] & _ " --Peak Memory:"& $MEM[1]) Sleep (10000) ElseIf $MEM[0] > $ExMem And $ExMemRestart = "yes" Then FileWriteLine(@ScriptDir & "\ConanServerUtility_RestartLog.txt", @YEAR &"-"& @MON &"-"& @MDAY &" "& @HOUR &":"& @MIN &" --Work Memory:"& $MEM[0] & _ " --Peak Memory:"& $MEM[1] &" Excessive Memory Use - Restart Requested by ConanServerUtility Script") CloseServer() Sleep (10000) EndIf EndIf If ((@HOUR = $HotHour1 Or @HOUR = $HotHour2 Or @HOUR = $HotHour3 Or @HOUR = $HotHour4 Or @HOUR = $HotHour5 Or @HOUR = $HotHour6) And @MIN = $HotMin And $RestartDaily = "yes") Then Local $PID = ProcessExists($ConanPID) If $PID Then Local $MEM = ProcessGetStats($PID, 0) FileWriteLine(@ScriptDir & "\ConanServerUtility_RestartLog.txt", @YEAR &"-"& @MON &"-"& @MDAY &" "& @HOUR &":"& @MIN &" --Work Memory:"& $MEM[0] & _ " --Peak Memory:"& $MEM[1] &" Daily Restart Requested by ConanServerUtility Script") CloseServer() EndIf Sleep (10000) EndIf If @MIN = $HotMin And $CheckForUpdate = "yes" Then UpdateCheck() Sleep(70000) EndIf Sleep (500) WEnd V2.2.2.0 Server Utility Source: Spoiler #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Icon=favicon.ico #AutoIt3Wrapper_Res_Comment=By Dateranoth - Feburary 6, 2017 #AutoIt3Wrapper_Res_Description=Utility to Remotely Restart Conan Server #AutoIt3Wrapper_Res_Fileversion=2.2.2.0 #AutoIt3Wrapper_Res_LegalCopyright=Dateranoth @ https://gamercide.com #AutoIt3Wrapper_Res_Language=1033 #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** ;By Dateranoth - Feburary 6, 2017 ;Used by https://gamercide.com on their server ;Feel free to change, adapt, and distribute #include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> ; Start The TCP Services ;============================================== TCPStartup() ; Set Some reusable info ;-------------------------- Local $ConnectedSocket, $szData If FileExists("ConanServerRemoteRestart.ini") Then Local $cIPorName = IniRead("ConanServerRemoteRestart.ini", "Use IP (x.x.x.x) or Name (myserver.com) (ip/name)", "cIPorName", "ip") Local $cSERVERADDRESS = IniRead("ConanServerRemoteRestart.ini", "GameServerIP (can be name or IP based on above setting)", "cSERVERADDRESS", "127.0.0.1") Local $cPORT = IniRead("ConanServerRemoteRestart.ini", "RestartServerPort", "cPORT", "57520") Local $RPassword = IniRead("ConanServerRemoteRestart.ini", "DefaultRestartPassword", "RPassword", "") Else IniWrite("ConanServerRemoteRestart.ini", "Use IP (x.x.x.x) or Name (myserver.com) (ip/name)", "cIPorName", "ip") IniWrite("ConanServerRemoteRestart.ini", "GameServerIP (can be name or IP based on above setting)", "cSERVERADDRESS", "127.0.0.1") IniWrite("ConanServerRemoteRestart.ini", "RestartServerPort", "cPORT", "57520") IniWrite("ConanServerRemoteRestart.ini", "DefaultRestartPassword", "RPassword", "") MsgBox(4096, "Default INI File Made", "Please Modify Default Values and Restart Script") TCPShutdown() ; Close the TCP service. Exit EndIf If $cIPorName = "name" Then Local $cIPAddress = TCPNameToIP($cSERVERADDRESS) Else Local $cIPAddress = $cSERVERADDRESS EndIf OnAutoItExitRegister("Gamercide") Func Gamercide() TCPShutdown() ; Close the TCP service. MsgBox(4096, "Thanks for using our Application", "Please visit us at https://gamercide.com",2) Exit EndFunc Func MyTCP_Client($sIPAddress, $iPort, $iData) ; Assign a Local variable the socket and connect to a listening socket with the IP Address and Port specified. Local $iSocket = TCPConnect($sIPAddress, $iPort) Local $iError = 0 Local $cData = StringToBinary($iData, 4) ; If an error occurred display the error code and return False. If @error Then ; The server is probably offline/port is not opened on the server. $iError = @error MsgBox(BitOR($MB_SYSTEMMODAL, $MB_ICONHAND), "", "Client:" & @CRLF & "Could not connect, Error code: " & $iError) Return False EndIf ; Send Restart Code to the Server. Local $bytes = TCPSend($iSocket, $cData) ; If an error occurred display the error code and return False. If @error Then $iError = @error MsgBox(BitOR($MB_SYSTEMMODAL, $MB_ICONHAND), "", "Client:" & @CRLF & "Could not send the data, Error code: " & $iError) Return False Else MsgBox(4096, "Success!", $iData &" Sent to "& $sIPAddress &":"& $iPort &" containing "& $bytes &" bytes of data",10) EndIf ; Close the socket. TCPCloseSocket($iSocket) EndFunc ;==>MyTCP_Client ;Loop forever asking for data to send to the SERVER While 1 ; InputBox for data to transmit $cPass = InputBox("Restart The Conan Server", @LF & @LF & "Enter the code to Restart The Conan Server within 30 seconds:",$RPassword) ; If they cancel the InputBox or leave it blank we exit our forever loop If @error Or $cPass = "" Then MsgBox(BitOR($MB_SYSTEMMODAL, $MB_ICONHAND), "", "No Restart Sent",5) ExitLoop Else MyTCP_Client($cIPAddress, $cPort, $cPass) ExitLoop EndIf WEnd Func OnAutoItExit() EndFunc Link to comment Share on other sites More sharing options...
MrPhantomX Posted February 6, 2017 Share Posted February 6, 2017 Nice script, but i With every restart the steamupdate overwrites my config ("C:\Games\exiles\ConanSandbox\Config\DefaultEngine.ini" ), so the ServerName is reset to Conan Exile Server at every restart I have tried to add this to the ConanServerUtilityini file. [YOURSERVERNAME] ServerName=[Test] - Test Server And this to the au3 filer (and of course compiled it) ;User Variables .. Local $ServerName = IniRead("ConanServerUtility.ini", "YOURSERVERNAME", "ServerName", "YOURSERVERNAME") .. $ConanPID = Run(""& $serverdir &"\ConanSandbox\Binaries\Win64\"& $Server_EXE &" ConanSandBox?ServerName="& $ServerName &"?Port="& $GamePort &"?QueryPort="& $QueryPort &"?MaxPlayers="& $MaxPlayers &"?AdminPassword="& $AdminPass &"?listen -nosteamclient -game -server -log") .. Example: [Test] - Test Server vil only give me [Test] and break the rest of the code. (With or without - ). If i try to use only Test as name the entire config will show as servername. Any suggestions,? Link to comment Share on other sites More sharing options...
Dateranoth Posted February 6, 2017 Author Share Posted February 6, 2017 34 minutes ago, MrPhantomX said: Nice script, but i With every restart the steamupdate overwrites my config ("C:\Games\exiles\ConanSandbox\Config\DefaultEngine.ini" ), so the ServerName is reset to Conan Exile Server at every restart I have tried to add this to the ConanServerUtilityini file. [YOURSERVERNAME] ServerName=[Test] - Test Server And this to the au3 filer (and of course compiled it) ;User Variables .. Local $ServerName = IniRead("ConanServerUtility.ini", "YOURSERVERNAME", "ServerName", "YOURSERVERNAME") .. $ConanPID = Run(""& $serverdir &"\ConanSandbox\Binaries\Win64\"& $Server_EXE &" ConanSandBox?ServerName="& $ServerName &"?Port="& $GamePort &"?QueryPort="& $QueryPort &"?MaxPlayers="& $MaxPlayers &"?AdminPassword="& $AdminPass &"?listen -nosteamclient -game -server -log") .. Example: [Test] - Test Server vil only give me [Test] and break the rest of the code. (With or without - ). If i try to use only Test as name the entire config will show as servername. Any suggestions,? I have tried without success to get the server name to work in the command line. You have to put it in your config file. You just need to modify the file that is saved. The default one is overwritten every time you do a steam update. Modify This Engine.ini C:\Games\exiles\ConanSandbox\Saved\Config\WindowsServer\Engine.ini [OnlineSubsystemSteam] ServerName=Your Server Name ServerPassword= FYI: Everything here C:\Games\exiles\ConanSandbox\Config\ is overwritten when SteamCMD runs because of the validate flag. Link to comment Share on other sites More sharing options...
MrPhantomX Posted February 6, 2017 Share Posted February 6, 2017 Good to now it wasn't only me struggling getting it to work. Thanks, i had already modified the Engine.ini, but some how [OnlineSubsystemSteam] had become [OnlineSubsystem]. Guess it will fix the issue Link to comment Share on other sites More sharing options...
Dateranoth Posted February 6, 2017 Author Share Posted February 6, 2017 42 minutes ago, MrPhantomX said: Good to now it wasn't only me struggling getting it to work. Thanks, i had already modified the Engine.ini, but some how [OnlineSubsystemSteam] had become [OnlineSubsystem]. Guess it will fix the issue Glad to help! Let me know if there is anything else you would like to see. Link to comment Share on other sites More sharing options...
Dateranoth Posted February 7, 2017 Author Share Posted February 7, 2017 V2.2.2.1 Update! Differentiated between Server Port and Steam Query Port. You can now modify both from script. Be sure to delete your INI and let the script generate a new one. V2.2.2.1 Downloads Complete Version 2.2.2.1 including Source Conan Server Utility V2.2.2.1 Conan Server Remote Restart Utility V2.2.2.1 Conan Server Utility V2.2.2.1 Source Conan Server Remote Restart Utility V2.2.2.1 Source V2.2.2.1 Server Utility Source: Spoiler #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Icon=favicon.ico #AutoIt3Wrapper_Res_Comment=By Dateranoth - Feburary 6, 2017 #AutoIt3Wrapper_Res_Description=Utility for Running Conan Server #AutoIt3Wrapper_Res_Fileversion=2.2.2.1 #AutoIt3Wrapper_Res_LegalCopyright=Dateranoth @ https://gamercide.com #AutoIt3Wrapper_Res_Language=1033 #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** ;By Dateranoth - Feburary 6, 2017 ;Used by https://gamercide.com on their server ;Feel free to change, adapt, and distribute #include <Date.au3> #include <Process.au3> #include <MsgBoxConstants.au3> #include <File.au3> Opt("WinTitleMatchMode", 1) ;1=start, 2=subStr, 3=exact, 4=advanced, -1 to -4=Nocase ;User Variables If FileExists("ConanServerUtility.ini") Then Local $BindIP = IniRead("ConanServerUtility.ini", "Use MULTIHOME to Bind IP? Disable if having connection issues (yes/no)", "BindIP", "yes") Local $g_IP = IniRead("ConanServerUtility.ini", "Game Server IP", "ListenIP", "127.0.0.1") Local $GamePort = IniRead("ConanServerUtility.ini", "Game Server Port", "GamePort", "7777") Local $QueryPort = IniRead("ConanServerUtility.ini", "Steam Query Port", "QueryPort", "27015") Local $AdminPass = IniRead("ConanServerUtility.ini", "Admin Password", "AdminPass", "yOuRpaSHeRe") Local $MaxPlayers = IniRead("ConanServerUtility.ini", "Max Players", "MaxPlayers", "20") Local $serverdir = IniRead("ConanServerUtility.ini", "Server Directory. NO TRAILING SLASH", "serverdir", "C:\Game_Servers\Conan_Exiles_Server") Local $UseSteamCMD = IniRead("ConanServerUtility.ini", "Use SteamCMD To Update Server? yes/no", "UseSteamCMD", "yes") Local $steamcmddir = IniRead("ConanServerUtility.ini", "SteamCMD Directory. NO TRAILING SLASH", "steamcmddir", "C:\Game_Servers\SteamCMD") Local $UseRemoteRestart = IniRead("ConanServerUtility.ini", "Use Remote Restart ?yes/no", "UseRemoteRestart", "no") Local $g_Port = IniRead("ConanServerUtility.ini", "Remote Restart Port", "ListenPort", "57520") Local $RestartCode = IniRead("ConanServerUtility.ini", "Remote Restart Password", "RestartCode", "FVtb2DXgp8SYwj7J") Local $RestartDaily = IniRead("ConanServerUtility.ini", "Restart Server Daily? yes/no", "RestartDaily", "no") Local $CheckForUpdate = IniRead("ConanServerUtility.ini", "Check for Update Every Hour? yes/no", "CheckForUpdate", "yes") Local $HotHour1 = IniRead("ConanServerUtility.ini", "Daily Restart Hours? 00-23", "HotHour1", "00") Local $HotHour2 = IniRead("ConanServerUtility.ini", "Daily Restart Hours? 00-23", "HotHour2", "00") Local $HotHour3 = IniRead("ConanServerUtility.ini", "Daily Restart Hours? 00-23", "HotHour3", "00") Local $HotHour4 = IniRead("ConanServerUtility.ini", "Daily Restart Hours? 00-23", "HotHour4", "00") Local $HotHour5 = IniRead("ConanServerUtility.ini", "Daily Restart Hours? 00-23", "HotHour5", "00") Local $HotHour6 = IniRead("ConanServerUtility.ini", "Daily Restart Hours? 00-23", "HotHour6", "00") Local $HotMin = IniRead("ConanServerUtility.ini", "Daily Restart Minute? 00-59", "HotMin", "01") Local $ExMem = IniRead("ConanServerUtility.ini", "Excessive Memory Amount?", "ExMem", "6000000000") Local $ExMemRestart = IniRead("ConanServerUtility.ini", "Restart On Excessive Memory Use? yes/no", "ExMemRestart", "no") Local $SteamFix = IniRead("ConanServerUtility.ini", "Running Server with Steam Open? (yes/no)", "SteamFix", "no") Else IniWrite("ConanServerUtility.ini", "Use MULTIHOME to Bind IP? Disable if having connection issues (yes/no)", "BindIP", "yes") IniWrite("ConanServerUtility.ini", "Game Server IP", "ListenIP", "127.0.0.1") IniWrite("ConanServerUtility.ini", "Game Server Port", "GamePort", "7777") IniWrite("ConanServerUtility.ini", "Steam Query Port", "QueryPort", "27015") IniWrite("ConanServerUtility.ini", "Admin Password", "AdminPass", "yOuRpaSHeRe") IniWrite("ConanServerUtility.ini", "Max Players", "MaxPlayers", "20") IniWrite("ConanServerUtility.ini", "Server Directory. NO TRAILING SLASH", "serverdir", "C:\Game_Servers\Conan_Exiles_Server") IniWrite("ConanServerUtility.ini", "Use SteamCMD To Update Server? yes/no", "UseSteamCMD", "yes") IniWrite("ConanServerUtility.ini", "SteamCMD Directory. NO TRAILING SLASH", "steamcmddir", "C:\Game_Servers\SteamCMD") IniWrite("ConanServerUtility.ini", "Use Remote Restart ?yes/no", "UseRemoteRestart", "no") IniWrite("ConanServerUtility.ini", "Remote Restart Port", "ListenPort", "57520") IniWrite("ConanServerUtility.ini", "Remote Restart Password", "RestartCode", "FVtb2DXgp8SYwj7J") IniWrite("ConanServerUtility.ini", "Restart Server Daily? yes/no", "RestartDaily", "no") IniWrite("ConanServerUtility.ini", "Check for Update Every Hour? yes/no", "CheckForUpdate", "yes") IniWrite("ConanServerUtility.ini", "Daily Restart Hours? 00-23", "HotHour1", "00") IniWrite("ConanServerUtility.ini", "Daily Restart Hours? 00-23", "HotHour2", "00") IniWrite("ConanServerUtility.ini", "Daily Restart Hours? 00-23", "HotHour3", "00") IniWrite("ConanServerUtility.ini", "Daily Restart Hours? 00-23", "HotHour4", "00") IniWrite("ConanServerUtility.ini", "Daily Restart Hours? 00-23", "HotHour5", "00") IniWrite("ConanServerUtility.ini", "Daily Restart Hours? 00-23", "HotHour6", "00") IniWrite("ConanServerUtility.ini", "Daily Restart Minute? 00-59", "HotMin", "01") IniWrite("ConanServerUtility.ini", "Excessive Memory Amount?", "ExMem", "6000000000") IniWrite("ConanServerUtility.ini", "Restart On Excessive Memory Use? yes/no", "ExMemRestart", "no") IniWrite("ConanServerUtility.ini", "Running Server with Steam Open? (yes/no)", "SteamFix", "no") MsgBox(4096, "Default INI File Made", "Please Modify Default Values and Restart Script") Exit EndIf OnAutoItExitRegister("Gamercide") Global $sFile = "" Global $Server_EXE = "ConanSandboxServer-Win64-Test.exe" Global $PIDFile = @ScriptDir &"\ConanServerUtility_lastpid_tmp" Global $hWndFile = @ScriptDir &"\ConanServerUtility_lasthwnd_tmp" If FileExists($PIDFile) Then Global $ConanPID = FileRead($PIDFile) Global $ConanhWnd = HWnd(FileRead($hWndFile)) Else Global $ConanPID = "0" Global $ConanhWnd = "0" EndIf Func Gamercide() If @exitMethod <> 1 Then $Shutdown = MsgBox(4100, "Shut Down?","Do you wish to shutdown the server?",10) If $Shutdown = 6 Then FileWriteLine(@ScriptDir & "\ConanServerUtility_RestartLog.txt", @YEAR &"-"& @MON &"-"& @MDAY &" "& @HOUR &":"& @MIN &" Server Shutdown by User Input from ConanServerUtility Script") CloseServer() EndIf MsgBox(4096, "Thanks for using our Application", "Please visit us at https://gamercide.com",2) EndIf If $UseRemoteRestart = "yes" Then TCPShutdown() EndIf Exit EndFunc Func CloseServer() Local $PID = ProcessExists($ConanPID) ControlSend($ConanhWnd, "", "", "I" & @CR) ControlSend($ConanhWnd, "", "", "I" & @CR) ControlSend($ConanhWnd, "", "", "^C") WinWaitClose($ConanhWnd, "", 60) If $PID Then ProcessClose($PID) EndIf FileDelete($PIDFile) FileDelete($hWndFile) EndFunc Func GetRSS() Local $oXML = ObjCreate("Microsoft.XMLHTTP") $oXML.Open("GET", "http://steamcommunity.com/games/440900/rss/", 0) $oXML.Send $sFile = _TempFile(@ScriptDir, '~', '.xml') FileWrite($sFile, $oXML.responseText) EndFunc Func ParseRSS() $sXML = $sFile Local $oXML = ObjCreate("Microsoft.XMLDOM") $oXML.Load($sXML) Local $oNames = $oXML.selectNodes("//rss/channel/item/title") Local $aMyDate, $aMyTime _DateTimeSplit(_NowCalc(), $aMyDate, $aMyTime) Local $cDate = "PATCH "& StringFormat("%02d", $aMyDate[3]) &"."& StringFormat("%02d", $aMyDate[2]) &"."& StringFormat("%04d", $aMyDate[1]) Local $cFile = @ScriptDir &"\ConanServerUtility_LastUpdate.txt" For $oName In $oNames If StringRegExp($oName.text,$cDate&"(?i)") Then If FileRead($cFile) = $oName.text Then ;ConsoleWrite("No New Update" & @CRLF) ExitLoop Else FileDelete($cFile) FileWrite($cFile,$oName.text) Local $PID = ProcessExists($ConanPID) If $PID Then FileWriteLine(@ScriptDir & "\ConanServerUtility_RestartLog.txt", @YEAR &"-"& @MON &"-"& @MDAY &" "& @HOUR &":"& @MIN &" ["& $oName.text &"] Restart for Update Requested by ConanServerUtility Script") CloseServer() EndIf ExitLoop EndIf EndIf Next EndFunc Func UpdateCheck() GetRSS() ParseRSS() FileDelete($sFile) EndFunc Func _TCP_Server_ClientIP($hSocket) Local $pSocketAddress, $aReturn $pSocketAddress = DllStructCreate("short;ushort;uint;char[8]") $aReturn = DllCall("ws2_32.dll", "int", "getpeername", "int", $hSocket, "ptr", DllStructGetPtr($pSocketAddress), "int*", DllStructGetSize($pSocketAddress)) If @error Or $aReturn[0] <> 0 Then Return $hSocket $aReturn = DllCall("ws2_32.dll", "str", "inet_ntoa", "int", DllStructGetData($pSocketAddress, 3)) If @error Then Return $hSocket $pSocketAddress = 0 Return $aReturn[0] EndFunc ;==>_TCP_Server_ClientIP If $UseSteamCMD = "yes" Then Local $sFileExists = FileExists($steamcmddir &"\steamcmd.exe") If $sFileExists = 0 Then MsgBox ( 0x0, "SteamCMD Not Found", "Could not find steamcmd.exe at "& $steamcmddir) Exit EndIf Else Local $cFileExists = FileExists($serverdir &"\ConanSandboxServer.exe") If $cFileExists = 0 Then MsgBox ( 0x0, "Conan Server Not Found", "Could not find ConanSandboxServer.exe at "& $serverdir) Exit EndIf Endif If $UseRemoteRestart = "yes" Then ; Start The TCP Services TCPStartup() Local $MainSocket = TCPListen($g_IP, $g_Port, 100) If $MainSocket = -1 Then MsgBox ( 0x0, "TCP Error", "Could not bind to [" & $g_IP & "] Is this the correct Server IP?") Exit EndIf EndIf While True If $UseRemoteRestart = "yes" Then Local $ConnectedSocket = TCPAccept($MainSocket) If $ConnectedSocket >= 0 Then $Count = 0 While $Count < 30 $RECV = TCPRecv($ConnectedSocket,512) $PassCompare = StringCompare($RECV, $RestartCode, 1) If $PassCompare = 0 Then Local $PID = ProcessExists($ConanPID) ; Will return the PID or 0 if the process isn't found. If $PID Then Local $IP = _TCP_Server_ClientIP($ConnectedSocket) Local $MEM = ProcessGetStats($PID, 0) FileWriteLine(@ScriptDir & "\ConanServerUtility_RestartLog.txt", @YEAR &"-"& @MON &"-"& @MDAY &" "& @HOUR &":"& @MIN &" --Work Memory:"& $MEM[0] & _ " --Peak Memory:"& $MEM[1] &" Restart Requested by Remote Host: "& $IP) CloseServer() Sleep (10000) ExitLoop EndIf Else Local $IP = _TCP_Server_ClientIP($ConnectedSocket) FileWriteLine(@ScriptDir & "\ConanServerUtility_RestartLog.txt", @YEAR &"-"& @MON &"-"& @MDAY &" "& @HOUR &":"& @MIN &" Restart ATTEMPT by Remote Host: "& $IP &" WRONG PASSWORD: "& $RECV) ExitLoop EndIf $Count += 1 Sleep (1000) WEnd If $ConnectedSocket <> -1 Then TCPCloseSocket($ConnectedSocket) EndIf EndIf Local $PID = ProcessExists($ConanPID) If $PID = 0 Then If $UseSteamCMD = "yes" Then RunWait(""& $steamcmddir &"\steamcmd.exe +@ShutdownOnFailedCommand 1 +@NoPromptForPassword 1 +login anonymous +force_install_dir "& $serverdir &" +app_update 443030 validate +quit") EndIf If $CheckForUpdate = "yes" Then UpdateCheck() EndIf If $BindIP = "no" Then $ConanPID = Run(""& $serverdir &"\ConanSandbox\Binaries\Win64\"& $Server_EXE &" ConanSandBox?Port="& $GamePort &"?QueryPort="& $QueryPort &"?MaxPlayers="& $MaxPlayers &"?AdminPassword="& $AdminPass &"?listen -nosteamclient -game -server -log") Else $ConanPID = Run(""& $serverdir &"\ConanSandbox\Binaries\Win64\ConanSandboxServer-Win64-Test.exe ConanSandBox?MULTIHOME="& $g_IP &"?Port="& $GamePort &"?QueryPort="& $QueryPort &"?MaxPlayers="& $MaxPlayers &"?AdminPassword="& $AdminPass &"?listen -nosteamclient -game -server -log") EndIf $ConanhWnd = WinGetHandle(WinWait(""& $serverdir &"", "", 70)) If $SteamFix = "yes" Then WinWait(""& $Server_EXE &" - Entry Point Not Found","",5) If WinExists(""& $Server_EXE &" - Entry Point Not Found") Then ControlSend(""& $Server_EXE &" - Entry Point Not Found", "", "", "{enter}") EndIf WinWait(""& $Server_EXE &" - Entry Point Not Found","",5) If WinExists(""& $Server_EXE &" - Entry Point Not Found") Then ControlSend(""& $Server_EXE &" - Entry Point Not Found", "", "", "{enter}") EndIf EndIf FileDelete($PIDFile) FileDelete($hWndFile) FileWrite($PIDFile,$ConanPID) FileWrite($hWndFile,String($ConanhWnd)) FileSetAttrib($PIDFile,"+HT") FileSetAttrib($hWndFile,"+HT") Else Local $MEM = ProcessGetStats($PID, 0) If $MEM[0] > $ExMem And $ExMemRestart = "no" Then FileWriteLine(@ScriptDir & "\ConanServerUtility_ExcessiveMemoryLog.txt", @YEAR &"-"& @MON &"-"& @MDAY &" "& @HOUR &":"& @MIN &" --Work Memory:"& $MEM[0] & _ " --Peak Memory:"& $MEM[1]) Sleep (10000) ElseIf $MEM[0] > $ExMem And $ExMemRestart = "yes" Then FileWriteLine(@ScriptDir & "\ConanServerUtility_RestartLog.txt", @YEAR &"-"& @MON &"-"& @MDAY &" "& @HOUR &":"& @MIN &" --Work Memory:"& $MEM[0] & _ " --Peak Memory:"& $MEM[1] &" Excessive Memory Use - Restart Requested by ConanServerUtility Script") CloseServer() Sleep (10000) EndIf EndIf If ((@HOUR = $HotHour1 Or @HOUR = $HotHour2 Or @HOUR = $HotHour3 Or @HOUR = $HotHour4 Or @HOUR = $HotHour5 Or @HOUR = $HotHour6) And @MIN = $HotMin And $RestartDaily = "yes") Then Local $PID = ProcessExists($ConanPID) If $PID Then Local $MEM = ProcessGetStats($PID, 0) FileWriteLine(@ScriptDir & "\ConanServerUtility_RestartLog.txt", @YEAR &"-"& @MON &"-"& @MDAY &" "& @HOUR &":"& @MIN &" --Work Memory:"& $MEM[0] & _ " --Peak Memory:"& $MEM[1] &" Daily Restart Requested by ConanServerUtility Script") CloseServer() EndIf Sleep (10000) EndIf If @MIN = $HotMin And $CheckForUpdate = "yes" Then UpdateCheck() Sleep(70000) EndIf Sleep (500) WEnd Link to comment Share on other sites More sharing options...
upperking Posted February 7, 2017 Share Posted February 7, 2017 Amazing work ! this is so handy! Link to comment Share on other sites More sharing options...
Dateranoth Posted February 7, 2017 Author Share Posted February 7, 2017 21 minutes ago, upperking said: Amazing work ! this is so handy! Thanks! Always open to suggestions if you think of something it needs. Link to comment Share on other sites More sharing options...
Lyas Posted February 7, 2017 Share Posted February 7, 2017 Hi, nice tool. [Daily Restart Hours? 00-23] HotHour1=03 HotHour2=09 HotHour3=15 HotHour4=21 I use only 4 HotHour, in default ini there is 6 HotHour,but tool restart server in 00, default value of HotHour5, HotHour6, can you fix this? i think we all wait Global chat Messages before server restart. Link to comment Share on other sites More sharing options...
Dateranoth Posted February 7, 2017 Author Share Posted February 7, 2017 3 minutes ago, Lyas said: Hi, nice tool. [Daily Restart Hours? 00-23] HotHour1=03 HotHour2=09 HotHour3=15 HotHour4=21 I use only 4 HotHour, in default ini there is 6 HotHour,but tool restart server in 00, default value of HotHour5, HotHour6, can you fix this? i think we all wait Global chat Messages before server restart. Just set the last two to the same as any of the other times you use. HotHour5=21 HotHour6=21 I will add a global message to notify of restarting with timed notifications as soon as they add a way for me to do that from the server side. Hopefully they add access to the console or rcon soon. Until then there is no way to provide notification. If anyone finds a way before the official announcement let me know and I'll see what I can do. Link to comment Share on other sites More sharing options...
Lyas Posted February 7, 2017 Share Posted February 7, 2017 thank you [Check for Update Every Hour? yes/no] CheckForUpdate=yes Can you add parametr UpdateTime=60 in minutes if its possible? Thanks for good Job, wery Good tool. Link to comment Share on other sites More sharing options...
Dateranoth Posted February 7, 2017 Author Share Posted February 7, 2017 2 hours ago, Lyas said: thank you [Check for Update Every Hour? yes/no] CheckForUpdate=yes Can you add parametr UpdateTime=60 in minutes if its possible? Thanks for good Job, wery Good tool. I'm not sure what you are asking? You want to be able to check for updates every X minutes instead of once per hour? Link to comment Share on other sites More sharing options...
upperking Posted February 7, 2017 Share Posted February 7, 2017 I use this Ark server manager for my ark servers and it has a ton of features that are very handy with a nice interface. http://arkservermanager.freeforums.net/board/2/release-info maybe you could add similar features to this project for more control for server settings etc. Link to comment Share on other sites More sharing options...
Dateranoth Posted February 7, 2017 Author Share Posted February 7, 2017 That looks like it's for managing the server not running it and updating it. If I were to create something like that I would probably not do it in the scope of this project. I'm not sure if it's even possible right now without being able to access rcon or a console on the server. Link to comment Share on other sites More sharing options...
upperking Posted February 7, 2017 Share Posted February 7, 2017 It updates and starts it and also backs it up ot also manages the game.ini files for server options Link to comment Share on other sites More sharing options...
Dateranoth Posted February 7, 2017 Author Share Posted February 7, 2017 Just now, upperking said: It updates and starts it and also backs it up ot also manages the game.ini files for server options Yeah, I'll be honest, I don't have any plans for more server options except the server name and server password if it's ever possible from the command line. Anyone is welcome to use my code to make something like that, but I believe it would be better to use something other than AutoIt to write it in. I could possibly add backup function, but the game already does that. I will look through it more when I'm home. I'm sure someone will eventually make a much more robust tool than mine. This is more hobby than trade for me. So I'm not very good at it. If the Ark tool code is open source it might be possible to modify it for Conan Link to comment Share on other sites More sharing options...
Lyas Posted February 7, 2017 Share Posted February 7, 2017 1 hour ago, Dateranoth said: I'm not sure what you are asking? You want to be able to check for updates every X minutes instead of once per hour? yes, if its possible Link to comment Share on other sites More sharing options...
Dateranoth Posted February 7, 2017 Author Share Posted February 7, 2017 I can probably do that. I'm at work now, but I will see what I can do when I get home. Link to comment Share on other sites More sharing options...
verser Posted February 7, 2017 Share Posted February 7, 2017 when i start up the server with this my client gets a black screen when i try joining the server (client and server are not on the same machine). any ideas on what might be causing this becouse the server works normally without this program. [Use MULTIHOME to Bind IP? Disable if having connection issues (yes/no)] BindIP=no [Game Server IP] ListenIP=127.0.0.1 [Game Server Port] GamePort=27015 [Admin Password] AdminPass=pasword [Max Players] MaxPlayers=20 [Server Directory. NO TRAILING SLASH] serverdir=C:\conanserver [Use SteamCMD To Update Server? yes/no] UseSteamCMD=yes [SteamCMD Directory. NO TRAILING SLASH] steamcmddir=C:\steamcmd [Use Remote Restart ?yes/no] UseRemoteRestart=no [Remote Restart Port] ListenPort=57520 [Remote Restart Password] RestartCode=password [Restart Server Daily? yes/no] RestartDaily=no [Check for Update Every Hour? yes/no] CheckForUpdate=yes [Daily Restart Hours? 00-23] HotHour1=00 HotHour2=00 HotHour3=00 HotHour4=00 HotHour5=00 HotHour6=00 [Daily Restart Minute? 00-59] HotMin=01 [Excessive Memory Amount?] ExMem=6000000000 [Restart On Excessive Memory Use? yes/no] ExMemRestart=no [Running Server with Steam Open? (yes/no)] SteamFix=yes Link to comment Share on other sites More sharing options...
Dateranoth Posted February 7, 2017 Author Share Posted February 7, 2017 @verser Are you running the latest version? If so you need to backup your INI file, delete it, and let the script create a new one. The latest version differentiates between GamePort and QueryPort. Also, if you're trying to connect from the same local network you might try setting the IP to the local network IP the server is on and MULTIHOME to yes Link to comment Share on other sites More sharing options...
verser Posted February 7, 2017 Share Posted February 7, 2017 28 minutes ago, Dateranoth said: @verser Are you running the latest version? If so you need to backup your INI file, delete it, and let the script create a new one. The latest version differentiates between GamePort and QueryPort. Also, if you're trying to connect from the same local network you might try setting the IP to the local network IP the server is on and MULTIHOME to yes thanks it works now Link to comment Share on other sites More sharing options...
upperking Posted February 7, 2017 Share Posted February 7, 2017 Could you put info in the cmd title bar like Players connected "Players 20-50" maybe also a new update in the title when there is s a new update found from the checker. and anyother server info that could be handy? https://gyazo.com/fcb90f7adcaf7a4226519d56d50709d4 Link to comment Share on other sites More sharing options...
Dateranoth Posted February 7, 2017 Author Share Posted February 7, 2017 I can't interact with the window except to send keys to it. And right now it only accepts the shutdown key combination. Link to comment Share on other sites More sharing options...
ConanBoneMan Posted February 7, 2017 Share Posted February 7, 2017 i tried using this utility but after setting it up and running the program, in steamcmd it starts allocating memory to download the server while the server is already downloaded, instead of checking for updates, and i am pretty sure i linked the ini to the right path. Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now