Jump to content
Still Alive on Discord - https://discord.gg/qWuKx5B Read more... ×

Dateranoth

Administrator
  • Content Count

    11,210
  • Joined

  • Last visited

Everything posted by Dateranoth

  1. Dateranoth

    Conan Exiles Server Utility

    Conan Server Utility (Latest Version will always be here) [Latest Releases] Automate your Conan Server Management with this Utility! Written using AutoIT with full Source available. UPDATE CHECK REQUIRES THE SCRIPT CAN READ FROM http://steamcommunity.com/games/440900/rss/ Conan Server Utility Features Manage Multiple servers with multiple Utilities (See V2.2.2.0 Update) Monitors for crashes and Restarts Server if process closes Optionally Enable fix to close DLL error that comes up if Steam is open when starting server Optionally Disable MULTIHOME to fix some connection problems Optionally Check Latest Version Using SteamCMD for automatic Updates (In 5 to XX minute intervals) Optionally Restart the server daily at a certain time (Up to 6 different times through the day) Optionally Use Remote Restart Utility to Restart server remotely using unique passwords (Optionally set Users) and port Optionally Use SteamCMD to automatically update server Optionally run verification every time SteamCMD is ran Optionally restart server on excessive memory use. Optionally use Discord to notify channel before restart using Webhook Optionally use Twitch to notify channels before restart using IRC Log Excessive memory use. Set to a very large number if you don't wish to log anything Set Game Name, Game IP, Game port, max players, Server Password, and Admin Password Rotate X number of logs created by utility every X hours Conan Remote Restart Features If enabled on the server, use to remotely restart the server. Set Password in INI file to save, or type each time. Restart using IP or Domain Name This utility, when SteamCMD and daily restarts are enabled, will keep the server up to date on a daily basis. You can also use SteamCMD and remote restart to update the server anytime you send the restart request. If CheckForUpdate is enabled this utility will parse the RSS for Conan to look for PATCH headers every X minutes based on what you set. If it finds a new header it will restart to update the server. A few things to note. The Game Server IP will be the IP you wish to bind to. This may be a local IP if your server is behind a router. Also, the game can take a long time to gracefully shut down. So, when the restart is initiated, the utility attempts to gracefully shut down the server. If the server will not shut down gracefully after 1 minute the process is forcefully closed. When SteamCMD is used, a full cycle from the time the command is sent to the time the server is back on line can take 10 minutes or more. Finally, the remote restart port needs to be allowed through your firewall. All source has been moved to GitHub. I was driving myself crazy trying to keep up with changes in a flat file format. This grew a bit more than I expected. SOURCE ON GITHUB
  2. Dateranoth

    Conan Exiles Server Utility

    I would have to modify the code for both of these. It’s not a huge deal, but I haven’t had a lot of time lately to work on it. I will see if I can work in some time to add the features.
  3. Dateranoth

    Conan Exiles Server Utility

    You’re welcome. Let me know if you need anything else.
  4. Dateranoth

    Conan Exiles Server Utility

    You need to remove all of the other information. You must delete the entire line after =, including all of the below -NO TRAILING SLASH AND USE FULL URL FROM WEBHOOK URL ON DISCORD If you are using notepad or word pad turn off word wrap. Everything in the line after = should be deleted BEFORE you paste in the url. So when you get done this is what you should see with nothing between the webhook setting and the botname setting. DiscordWebHookURL=https://discordapp.com/api/webhooks/123### DiscordBotName=MyBot
  5. Dateranoth

    Conan Exiles Server Utility

    DiscordWebHookURL=https://discordapp.com/api/webhooks/*************************************** In the above section delete everything after the = Paste your web hook after the = EXAMPLE: DiscordWebHookURL=https://discordapp.com/api/webhooks/583###
  6. Dateranoth

    Conan Exiles Server Utility

    Have you copied the webhook to the INI file and enabled the bot in the INI? If you’re not sure, private message me the webhook url and the INI file and I will check to see if it’s set up correctly.
  7. Dateranoth

    Conan Exiles Server Utility

    https://github.com/Dateranoth/ConanExilesServerUtility/releases/tag/3.3.0-beta.3 Go to that page and download either the x86 or x64 file. Run it, it will create an INI file. Modify that file with your settings (server name etc) and then run the exe again to start.
  8. Dateranoth

    Knock, knock. Anyone home?

    I sent you a friend request on the site. You can also try this invite link. https://discord.gg/qWuKx5B
  9. Dateranoth

    7 Days to Die Server Utility

    I modified my Cube World Server Utility to work with 7 Days to Die. I also added a customizable ini file. NOTE! If you do not use the PuttyTel client to restart all restarts are hard restarts. The server process is closed, and it is closed when you exit the script. I have tested this, and it doesn't seem to be affecting save files, but you have been warned. Features: Optional Daily RestartsKeep Server Alive. Restart on CrashLog Excessive Memory UseOption to Restart on Excessive Memory UseOption to Remotely Restart ServerLogs restart request, current memory being used, and if the utility requested or a certain IPSafely shutdown the server through telnet via puttytel.exe and save server dayThe remote restart utility is a separate program. It allows you to connect and remotely restart a server.You can download the 7dServerUtility and 7dServerRemoteRestart compiled exe's HERE. (VirusScan) You can download the 7dServerUtility and 7dServerRemoteRestart AutoIT Source HERE. A special thanks to Nightmarefrom the 7 days to die forum for the telnet info! Installation Instructions: Place 7dServerUtility.exe in the same directory as 7DaysToDie.exe and run once. It will create a default INI file that you will need to modify for your server. Once you have modified the ini, restart the script and enjoy. If you want to use Putty to safely shutdown the server, then visit http://www.chiark.gr...y/download.html and download puttytel.exe . Place puttytel.exe in the same directory as 7dServerUtility.exe Remote Restart Instructions: Run 7dServerRemoteRestart.exe from anywhere. It will create a default INI file that you must modify. Modify the INI file and fill in the server IP and Restart Port. Optionally you can fill in the password field and it will save it so you don't have to type it each time. 7dServerUtility.au3 #include #include <Date.au3>#include <Process.au3>;User VariablesIf FileExists("7dServerUtility.ini") Then Local $GamePort = IniRead("7dServerUtility.ini", "GameServerPort", "GamePort", "25000") Local $ConfigFile = IniRead("7dServerUtility.ini", "GameConfigFile", "ConfigFile", "serverconfig.xml") Local $UseRemoteRestart = IniRead("7dServerUtility.ini", "Use_Remote_Restart?yes/no", "UseRemoteRestart", "no") Local $g_IP = IniRead("7dServerUtility.ini", "IP_To_Listen_On", "ListenIP", "127.0.0.1") Local $g_Port = IniRead("7dServerUtility.ini", "Port_To_Listen_On", "ListenPort", "57539") Local $RestartCode = IniRead("7dServerUtility.ini", "Remote_Restart_Password", "RestartCode", "FVtb2DXgp8SYwj7J") Local $RestartDaily= IniRead("7dServerUtility.ini", "Restart_Daily?yes/no", "RestartDaily", "no") Local $HotHour = IniRead("7dServerUtility.ini", "Restart_Time_Hour?00-23", "HotHour", "00") Local $HotMin = IniRead("7dServerUtility.ini", "Restart_Time_Minute?00-59", "HotMin", "01") Local $ExMem = IniRead("7dServerUtility.ini", "Excessive_Memory_Amount", "ExMem", "2000000000") Local $ExMemRestart = IniRead("7dServerUtility.ini", "Restart_On_Excessive_Mem_Use?yes/no", "ExMemRestart", "no")Else IniWrite("7dServerUtility.ini", "GameServerPort", "GamePort", "25000") IniWrite("7dServerUtility.ini", "GameConfigFile", "ConfigFile", "serverconfig.xml") IniWrite("7dServerUtility.ini", "Use_Remote_Restart?yes/no", "UseRemoteRestart", "no") IniWrite("7dServerUtility.ini", "IP_To_Listen_On", "ListenIP", "127.0.0.1") IniWrite("7dServerUtility.ini", "Port_To_Listen_On", "ListenPort", "57539") IniWrite("7dServerUtility.ini", "Remote_Restart_Password", "RestartCode", "FVtb2DXgp8SYwj7J") IniWrite("7dServerUtility.ini", "Restart_Daily?yes/no", "RestartDaily", "no") IniWrite("7dServerUtility.ini", "Restart_Time_Hour?00-23", "HotHour", "00") IniWrite("7dServerUtility.ini", "Restart_Time_Minute?00-59", "HotMin", "01") IniWrite("7dServerUtility.ini", "Excessive_Memory_Amount", "ExMem", "2000000000") IniWrite("7dServerUtility.ini", "Restart_On_Excessive_Mem_Use?yes/no", "ExMemRestart", "no") MsgBox(4096, "Default INI File Made", "Please Modify Default Values and Restart Script") ExitEndIfOnAutoItExitRegister("CloseServer")Func CloseServer() If FileExists(@ScriptDir & "\puttytel.exe") Then $PuttyPort = $GamePort+3 Run(@ScriptDir & "\puttytel.exe -P "& $PuttyPort & " "& $g_IP) WinWait($g_IP &" - PuTTYtel","") Local $CrashCheck = WinWait("PuTTYtel Fatal Error","",5) If $CrashCheck = 0 Then ControlSend($g_IP &" - PuTTYtel", "", "", "{enter}") ControlSend($g_IP &" - PuTTYtel", "", "", "shutdown{enter}") WinWait("PuTTYtel Fatal Error","",10) Local $PID = ProcessExists("puttytel.exe") If $PID Then ProcessClose($PID) EndIf Else Local $PID = ProcessExists("puttytel.exe") Local $PID2 = ProcessExists("7DaysToDie.exe") If $PID Then ProcessClose($PID) EndIf If $PID2 Then ProcessClose($PID2) EndIf EndIf Else Local $PID = ProcessExists("7DaysToDie.exe") If $PID Then ProcessClose($PID) EndIf EndIfEndFuncFunc _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_ClientIPIf $UseRemoteRestart = "yes" Then; Start The TCP ServicesTCPStartup()Local $MainSocket = TCPListen($g_IP, $g_Port, 100)If $MainSocket = -1 Then ExitEndIfwhile True if WinExists("Oops!") Then ControlSend("Oops!", "", "", "{enter}") Sleep (10000) EndIfIf $UseRemoteRestart = "yes" ThenLocal $ConnectedSocket = TCPAccept($MainSocket)If $ConnectedSocket >= 0 Then;TrayTip("Connected","Someone connected to server.",3)$Count = 0While $Count < 30$RECV = TCPRecv($ConnectedSocket,512) If $RECV = $RestartCode Then Local $PID = ProcessExists("7DaysToDie.exe") ; Will return the PID or 0 if the process isn't found. If $PID Then $IP = _TCP_Server_ClientIP($ConnectedSocket) Local $MEM = ProcessGetStats($PID, 0) FileWriteLine(@ScriptDir & "\7dServerUtility_RestartLog.txt", @MON &"-"& @MDAY &"-"& @YEAR &" "& @HOUR &":"& @MIN &" --Work Memory:"& $MEM[0] & _ " --Peak Memory:"& $MEM[1] &" Restart Requested by Remote Host: "& $IP) ;ProcessClose($PID) CloseServer() Sleep (10000) ExitLoop EndIf EndIf$Count += 1Sleep (1000)WEndIf $ConnectedSocket <> -1 Then TCPCloseSocket($ConnectedSocket)EndIfEndIfLocal $PID = ProcessExists("7DaysToDie.exe")If $PID = 0 Then Run(@ScriptDir & "\7DaysToDie.exe -quit -batchmode -nographics -configfile="& $ConfigFile &" -dedicated") Sleep (70000)Else Local $MEM = ProcessGetStats($PID, 0) If $MEM[0] > $ExMem And $ExMemRestart = "no" Then FileWriteLine(@ScriptDir & "\7dServerUtility_ExcessiveMemoryLog.txt", @MON &"-"& @MDAY &"-"& @YEAR &" "& @HOUR &":"& @MIN &" --Work Memory:"& $MEM[0] & _ " --Peak Memory:"& $MEM[1]) Sleep (10000) ElseIf $MEM[0] > $ExMem And $ExMemRestart = "yes" Then FileWriteLine(@ScriptDir & "\7dServerUtility_RestartLog.txt", @MON &"-"& @MDAY &"-"& @YEAR &" "& @HOUR &":"& @MIN &" --Work Memory:"& $MEM[0] & _ " --Peak Memory:"& $MEM[1] &" Excessive Memory Use - Restart Requested by 7dServerUtility Script") ;ProcessClose($PID) CloseServer() Sleep (10000) EndIfEndIf If @HOUR = $HotHour And @MIN = $HotMin And $RestartDaily = "yes" Then Local $PID = ProcessExists("7DaysToDie.exe") If $PID Then Local $MEM = ProcessGetStats($PID, 0) FileWriteLine(@ScriptDir & "\7dServerUtility_RestartLog.txt", @MON &"-"& @MDAY &"-"& @YEAR &" "& @HOUR &":"& @MIN &" --Work Memory:"& $MEM[0] & _ " --Peak Memory:"& $MEM[1] &" Daily Restart Requested by 7dServerUtility Script") ;ProcessClose($PID) CloseServer() EndIf Sleep (10000) EndIfSleep (500)WEnd 7dServerRemoteRestart.au3 ; Start The TCP Services ;============================================== TCPStartup() ; Set Some reusable info ;-------------------------- Local $ConnectedSocket, $szDataIf FileExists("7dServerRemoteRestart.ini") Then Local $szIPADDRESS = IniRead("7dServerRemoteRestart.ini", "GameServerIP", "szIPADDRESS", "127.0.0.1") Local $nPORT = IniRead("7dServerRemoteRestart.ini", "RestartServerPort", "nPORT", "57539") Local $RPassword = IniRead("7dServerRemoteRestart.ini", "DefaultRestartPassword", "RPassword", "")Else IniWrite("7dServerRemoteRestart.ini", "GameServerIP", "szIPADDRESS", "127.0.0.1") IniWrite("7dServerRemoteRestart.ini", "RestartServerPort", "nPORT", "57539") IniWrite("7dServerRemoteRestart.ini", "DefaultRestartPassword", "RPassword", "") MsgBox(4096, "Default INI File Made", "Please Modify Default Values and Restart Script") ExitEndIf ; Initialize a variable to represent a connection ;============================================== $ConnectedSocket = -1 ;Attempt to connect to SERVER at its IP and PORT 57539 ;======================================================= $ConnectedSocket = TCPConnect($szIPADDRESS, $nPORT) ; If there is an error... show it If @error Then MsgBox(4112, "Error", "TCPConnect failed with WSA error: " & @error) ; If there is no error loop an inputbox for data ; to send to the SERVER. Else ;Loop forever asking for data to send to the SERVER While 1 ; InputBox for data to transmit $szData = InputBox("Reset The 7 Days to Die Server", @LF & @LF & "Enter the code to Reset The 7 Days to Die Server:",$RPassword) ; If they cancel the InputBox or leave it blank we exit our forever loop If @error Or $szData = "" Then ExitLoop ; We should have data in $szData... lets attempt to send it through our connected socket. ; convert AutoIt native UTF-16 to UTF-8 TCPSend($ConnectedSocket, StringToBinary($szData, 4)) ExitLoop ; If the send failed with @error then the socket has disconnected ;---------------------------------------------------------------- If @error Then ExitLoop WEnd EndIfIf $ConnectedSocket <> -1 Then TCPCloseSocket($ConnectedSocket)TCPShutdown()Click here to view the article
  10. Dateranoth

    7 Days to Die Server Utility

    Sorry I haven't been around to see this! Been a bit busy of late, but I'm glad you were able to update this to continue working with 7days to Die! I'm not always on top of the posts, but if you need me, shoot me a Direct Message.
  11. Dateranoth

    Knock, knock. Anyone home?

    Hey Rose! It is as you can tell, pretty dead around here. I thought that I had my notifications turned on to send me new posts, but I missed this somehow. I'm glad you stopped by though! Hopefully you'll swing back in to see this. There are a few of us around, but the few of us left have moved mostly to Discord now. You can stop by anytime to say hello there if you'd like. https://discordapp.com/invite/2DY8FN?utm_source=Discord Widget&amp;utm_medium=Connect I tried ESO when it first release, but I never could fully get into it. I haven't really been back. The last game I played was RDR2 on PS4, and I'm currently piddling through South Park: Stick of Truth. We recently had our first child ( Owen ) so I've been pretty busy. Anyhow, hope to see you around more. It may be quiet, but I always keep the lights on around here.
  12. Dateranoth

    What are you listening to?

    Awesome entertainment system setup, and I wish you the best in being your own boss!
  13. Dateranoth

    Life Update - Overdue as Hell

    lol. Everything is a bit of a Necropsy post around here. It’s nice to have a place to swing in and say hello. Even if it’s a long time between replies.
  14. Dateranoth

    Conan Exiles Server Utility

    It’s pretty similar. I know he has all the same features and more except I’m not sure about mod updates.
  15. Dateranoth

    Conan Exiles Server Utility

    As far as I know, rcon is the only way to send messages to the actual server. I believe some other utilities have their own built in rcon tools that might work better for you. https://github.com/NullSoldier/serverthrall
  16. Dateranoth

    Conan Exiles Server Utility

    I’m not really sure. I didn’t make the mcrcon utility. I am just using it to send the rcon messages with my utility. You could start a ticket here: https://github.com/Tiiffi/mcrcon Does it not work with my utility either?
  17. Dateranoth

    Conan Exiles Server Utility

    @kackarot Does it happen when it tries to send the message?
  18. Dateranoth

    Conan Exiles Server Utility

    Oh, and if that is a real hook you will want to generate a new one and delete that one. Anyone can broadcast to your Discord with that.
  19. Dateranoth

    Conan Exiles Server Utility

    The hour is in HH format. If you want it to restart at 1100 only then set every hothour#=11 There are two options. On the system tray right click the icon (looks like the favicon on this site. A grim reaper) and choose exit. It will ask if you want to shut the server down or exit. If you exit without closing the server you can make changes to the Utility INI without shutting the server down. It will remember which server was running and reattach when you open it. If you choose close server it will gracefully shut down the server then exit. Alternatively you you can pause it by clicking on the icon once. While the read X is flashing the script is paused. Right click and select to resume. Remote restart KEY is just a secondary option to choose a different key to trigger restarts. Security through obscurity deal. To use remote restart you would type the public facing IP:PORT then the rest of the string. So. If my server was at 34.76.109.5 my remote restart settings were Restartport=5478 key=restart restartpass=myrestartpass To restart remotely I would type this into a browser: http://34.76.109.5:5478?restart=myrestartpass The hook looks correct. It will only broadcast before it attempts to restart. Remote restart and manually closing will not broadcast. These are considered admin controlled so they immediately restart or close the server.
  20. Dateranoth

    Conan Exiles Server Utility

    I found the problem and fixed it. Stupidly didn't declare a variable if rcon was disabled. It's corrected in the latest version. https://github.com/Dateranoth/ConanExilesServerUtility/releases/latest I actually use to hang around the Admin Discord more, but I haven't been on there in a while. You don't have to donate anything, but if you really want to you can help with our web hosting costs by donating directly to https://www.dreamhost.com/donate.cgi?id=16156 or you can donate via paypal to donations@gamercide.org . Sorry for the bug!
  21. Dateranoth

    Conan Exiles Server Utility

    Well damn. I broke something. I tested, but I must have missed something. Error happen as soon as you open the utility?
  22. Dateranoth

    Conan Exiles Server Utility

    Ok. RCON support has been added. I wasn't able to directly test the messages because I don't have the game installed, but it should be sending the restart message to the users too. Latest Version
  23. Dateranoth

    Conan Exiles Server Utility

    No time wasted. I have seen the problem before, and I wanted to make sure all was good. I'm working on integrated Rcon support to allow messages server side before restart now.
  24. Dateranoth

    Conan Exiles Server Utility

    The PM message is fine. The discord webhook works directly through discord. Just Create a new web hook. Name the bot what you want, select the channel, and save. Copy the Full webhook URL and paste it UseDiscordBot=yes DiscordWebHookURL=https://discordapp.com/api/webhooks/XXXXXX/XXXX Be sure to remove <- NO TRAILING SLASH AND USE FULL URL FROM WEBHOOK URL ON DISCORD I can't find anything wrong with the application or your settings for updating. Try this on your test server: Set the update interval to every 5 minutes Open the appmanifest_443030.acf and change the buildid to "12345" and save the file. Then wait and see if it triggers an update. I think what happened, and I've seen this before, is they pushed the latest update as ready before it was actually out to all the servers. So, the app found that there should have been an update available, but when steamcmd tried to get it the old file versions were still in place.
  25. Dateranoth

    Conan Exiles Server Utility

    Glad to help. I need to check and make sure nothing was changed in the update process. It could be that I’m looking at the wrong version now that the game is released. Can you remove any personal details and send me your INI? Also, can you send me the file above from your Conan server directory? You can run the app from an existing server, just be sure the INI is configured properly. It can make changes to Conan configs, but it backs everything up first.
×