-
Posts
1,869 -
Joined
-
Last visited
-
Days Won
77
Content Type
Profiles
Forums
Events
Downloads
Everything posted by Dennis
-
There's really no way to solve it. We can limit the CPU usage by assigning it to a certain number of cores, but that will just slow down the generating. It's not an issue with TCAdmin or the config, it's just how the server generates the map. You can use the following scripts to allocate a certain amount of cores and set CPU priority to low while it's starting: Operating system: Windows Script Engine: IronPython Event: Before started Tick 'Ignore execution errors' import random import clr import System from System import Environment from System.Diagnostics import ProcessPriorityClass # Returns random affinity for x cores def GetRandomAffinity(): StartCores = 3 #Change the number to how many cores the service should start with # Get the number of cores available on the system cores = int(Environment.GetEnvironmentVariable("NUMBER_OF_PROCESSORS")) - 1 # Initiate a list that we're gonna use. Each core will be added to the list like [1, 2, 3, 4...]. We're gonna reverse this list later core_list = [] for i in xrange(cores): i = i+1 core_list.append(i) # Reverse the list. On a system with 8 cores, we're gonna end up with [8, 7, 6, 5, 4, 3, 2, 1]. core_list.reverse() # Select 'StartCores' random cores random_cores = random.sample(core_list, StartCores) number = "" # Iterate through the list of cores and get binary number - if we pass a number from random_cores, we add 1 number variable. If not, we add 0. # Example with 8 cores with 3 and 5 as random cores: 00010100 # When we have the binary number, we need to convert it to dec and return this. 00010100 will return 20 - and this is CPU 3 and 5. for i in core_list: if i in random_cores: number += "1" else: number += "0" dec = int(number, 2) return dec # Set temporary affinity and priority used while the game server is starting ThisServiceController.ServiceConfig["Service.OriginalPriority"]=ThisServiceController.ServiceConfig["Service.Priority"] ThisServiceController.ServiceConfig["Service.Priority"] = ProcessPriorityClass.Idle ThisServiceController.ServiceConfig["Service.OriginalAffinity"]=ThisServiceController.ServiceConfig["Service.Affinity"] ThisServiceController.ServiceConfig["Service.Affinity"] = GetRandomAffinity() if ThisServiceController.ServiceConfig["Service.OriginalAffinity"] == 0: ThisServiceController.ServiceConfig["Service.OriginalAffinity"] = ThisServiceController.GetAffinityOfAllProcessors() Operating system: Windows Script Engine: IronPython Event: After started Tick 'Ignore execution errors' import clr import System from System import String, IntPtr from System.IO import File, Path from System.Diagnostics import Process from System.Threading import Thread, ThreadStart from TCAdmin.SDK import UnhandledExceptionManager def WaitForStartupComplete(): # An uncaught exception in a separate ironpython thread will cause a monitor/service manager crash try : # Wait until the Rust log has "Server startup complete" powershell = Process.Start("powershell.exe", String.Format("Get-Content '{0}7DaysToDieServer_Data\\output_log.txt' -wait | ? {{ $_ -match 'StartGame done' }} | % {{ exit }}", ThisService_RootDirectory)) # Create powershell pid file so we can kill if needed pspid=Path.Combine(ThisService_RootDirectory, "..", String.Format("{0}_ps.pid", ThisService_ServiceId)); with File.CreateText(pspid) as pidfile : pidfile.Write(powershell.Id) powershell.WaitForExit() # We don't need the powershell pid file anymore if File.Exists(pspid) : File.Delete(pspid) # Set affinity and priority back to normal ThisServiceController.ServiceConfig["Service.Priority"]= ThisServiceController.ServiceConfig["Service.OriginalPriority"] ThisServiceController.ServiceConfig["Service.Affinity"] = ThisServiceController.ServiceConfig["Service.OriginalAffinity"] # Get all processes for this service and set priority and affinity pids = ThisServiceController.GetAllProcesses(False) for pid in pids: p = Process.GetProcessById(pid) p.PriorityClass = ThisServiceController.ServiceConfig["Service.Priority"] p.ProcessorAffinity = IntPtr(ThisServiceController.ServiceConfig["Service.Affinity"]) except : pass # Start in a separate thread to prevent start hang t = Thread(ThreadStart(WaitForStartupComplete)) t.Start() It'll only work on Windows, though.
-
windows/linux Counter-Strike: Global Offensive
Dennis replied to Dennis's topic in Game Config Files
@CloudNine Are you using the GSLT module for TCAdmin? -
Could you send me a DM with a login to your TCAdmin installation?
-
And what is the issue? As far as I can see, players are reported just fine. It doesn't update exactly in real time, it could take a few minutes before you see it change.
-
Hi, I'm referring to the home page of the service - where you can see players, CPU/RAM usage and stuff like that.
-
Could you post a screenshot of the service's home page while it's running?
-
Have you tried opening Resource Monitor in Windows to see if the ports are allowed? Could you please send a screenshot of the service's home page?
-
Could you post your server.properties here? Remove any sensitive data from it. What are you using as query protocol for the game?
-
windows/linux Rust - Automatic wipe/update, Oxide, Plugin Installer
Dennis replied to Dennis's topic in Game Config Files
It's 1.2.0. Previous version was 1.1.0. Since Python 2.7 libraries are no longer needed, the minor version number was changed. -
windows/linux Rust - Automatic wipe/update, Oxide, Plugin Installer
Dennis replied to Dennis's topic in Game Config Files
Have you installed the latest version of the config? I fixed an issue yesterday where the service couldn't be started/stopped/restarted. -
windows/linux Rust - Automatic wipe/update, Oxide, Plugin Installer
Dennis replied to Dennis's topic in Game Config Files
What's New in Version 1.2.0 If you were having issues with the Rust server not being able to start, please update. This version fixes an issue that would happen if the shutdown command via rcon would not work. Please click "Update existing services" from the game's configuration page after installing. uMod download script has been removed. It's no longer necessary to include the Python 2.7 library. Use the Custom Mods module to install mods from uMod: -
windows/linux Rust - Automatic wipe/update, Oxide, Plugin Installer
Dennis replied to Dennis's topic in Game Config Files
@conceptr980 there's nothing we can do about that issue, unfortunately. It's just how Rust reports active players on the server. Disabling slots detection is not optimal, but it's the only way to work around the issue. -
Starting with WHMCS - where to go from here?
Dennis replied to Sukkerpups's topic in General Discussion
We do it ourselves. Besides hosting game servers, we also have a few companies that does web hosting, so it would be weird not to do it. I would always recommend hosting it yourself - you could already do it on one of your dedicated servers, if they're not running Windows (as cPanel only supports CentOS/RHEL based distros atm.) Could you explain this? You want to point your WHMCS installation to another domain that's not hosted on the same server as the WHMCS installation... That doesn't make any sense to me If you're offering free services, you should consider free software. You can use the TCAdmin Billing API to automatically create game servers. You don't have to use WHMCS. You could build your own and since you won't have to handle any billing at all (because you're offering free services), it shouldn't be that difficult. There's also free alternatives to WHMCS that you could use. -
windows/linux ARK: Survival Evolved (Supports Clusters)
Dennis replied to Dennis's topic in Game Config Files
What's New in Version 1.5.1 Changed "Set permissions on cluster folder" to not hang during startup on some machines -
Welcome Let us know if you need any help.
-
What does the debug log say?
-
Firewall / Automatically port forwarding | Linux | If you need help!
Dennis replied to MrFreeze4U's topic in TCAdmin Scripts
Please note: These scripts will only work on systems that utilizes Uncomplicated Firewall (ufw). -
windows/linux Rust - Automatic wipe/update, Oxide, Plugin Installer
Dennis replied to Dennis's topic in Game Config Files
You're not using the correct path to BS4 then. Well, that depends where you installed BS4. I usually install it in C:\beautifulsoup4-4.7.1. In C:\beautifulsoup4-4.7.1, there's a folder called bs4. Therefor, I need to enter 'C:\beautifulsoup4-4.7.1' - and when I tell it to import bs4, it will look inside this folder. -
windows/linux ARK: Survival Evolved (Supports Clusters)
Dennis replied to Dennis's topic in Game Config Files
Everything should be handled by the config. You don't need to specify a direct path - just enter whatever you want the folder name to be, and TCAdmin would create it in the correct place. -
This should be helpful: https://help.tcadmin.com/TCAdmin2_advanced_module_for_WHMCS#Examples <?php include('default_values.php'); switch ($params["customfields"]["Location"]) { case "1": $billing_api_values["game_id"] = 11; break; case "2": $billing_api_values["game_id"] = 12; break; } ?>
-
windows/linux Counter-Strike: Global Offensive
Dennis replied to Dennis's topic in Game Config Files
What's New in Version 1.0.1 Workshop scripts now works -
windows/linux Rust - Automatic wipe/update, Oxide, Plugin Installer
Dennis replied to Dennis's topic in Game Config Files
What's New in Version 1.1.0 'Stop Delay' changed to 1 Script for CPU affinity has been rewritten completely. You can now define how many cores you want the services to start with (default is 3). Previously, this was 1 core no matter how many cores you had. Future update might include predefined values (2 cores if 4 cores total, 3 cores if 8 cores total, 4 cores if 12 cores total etc). -
windows/linux Rust - Automatic wipe/update, Oxide, Plugin Installer
Dennis replied to Dennis's topic in Game Config Files
What's New in Version 1.0.3.4 Now uMod will actually be updated after Steam Updates if uMod is installed. What's New in Version 1.0.3.5 Fixed Rust:IO uninstall script -
windows/linux ARK: Survival Evolved (Supports Clusters)
Dennis replied to Dennis's topic in Game Config Files
What's New in Version 1.5.0 Web console support using Console Wrapper Automatic Workshop Update script added Removed the need to import Python 2.7 libraries