Jump to content

PrimaServers feature thread


Dennis

Recommended Posts

I thought I would create this thread to keep all of my suggestions in one place.

 

Link to comment
Share on other sites

Install mods from Steam Workshop using SteamCMD. Can be done using the following command:

steamcmd.exe +login anonymous +workshop_download_item 346110 496735411 +quit

 

where 346110 is the AppID (the game ID on Steam), and 496735411 is the ID of the mod.

Link to comment
Share on other sites

  • 1 year later...
  • 1 year later...

Server-hierarchy added.

Explained: For most games, we want TCAdmin to grab the installation files for a specific game from the Master server.

However, some games take up so much space that it takes a very long time to transfer an extract these files. Some files we'd like to have locally and just have them moved, while most other games are downloaded and extracted from the Master server.

 

If TCAdmin sees the files locally, it should use them instead of downloading them from another source.

Link to comment
Share on other sites

Dennis,

 

That is exactly how TCAdmin works. If a copy of the file is found loaclly it will use that file instead of going back to the master to download it.

 

The only time the sfotware will go back to the master for its files is if the files on the master have changed. Meaning they were updated, something was added etc...

Link to comment
Share on other sites

If you go into the settings for that server and then click the Game and Voice Settings tab at the top of the page, there is an option called "Get Files From:".

 

Change that to "Local Storage" from the pull down menu and check the box marked "Keep a local copy of downloaded files".

 

Then Save

 

This will grab files locally if they exist. It also will grab files remotely if they do not exist and save them locally until it sees any changes from the remote files to the local ones.

 

I would suggest using zip or rar compressed files so if the local files need to be updated from the remote, the transfer will be faster.

Link to comment
Share on other sites

  • 5 months later...
  • 6 months later...

For how a couple of game servers now Work (*cough* Rust *Cough*), it would be great if we could set priority and affinity for a specific game service until a specific point (eg. when "Server startup complete" is output to a specific log file).

Rust uses 100% of ALL cores when generating the world and building navmesh. It affects other services and causes lag.

Link to comment
Share on other sites

For how a couple of game servers now Work (*cough* Rust *Cough*), it would be great if we could set priority and affinity for a specific game service until a specific point (eg. when "Server startup complete" is output to a specific log file).

Rust uses 100% of ALL cores when generating the world and building navmesh. It affects other services and causes lag.

 

I second this.

 

For example, picking X amount of random cores that the server will run on for x minutes, until it detects it's online, or what have you. One of our nodes is a 12-core hyperthreaded server which shows 96-99% CPU usage on all cores until that rust server is started. Sure, it doesn't take but a minute to generate a world on that server, but it sucks the life out of it for that timeframe.

Link to comment
Share on other sites

For how a couple of game servers now Work (*cough* Rust *Cough*), it would be great if we could set priority and affinity for a specific game service until a specific point (eg. when "Server startup complete" is output to a specific log file).

Rust uses 100% of ALL cores when generating the world and building navmesh. It affects other services and causes lag.

 

The default RUST config has custom scripts that sets priority to idle for 5 minutes. It needs some more work to change affinity and read the log file.

Link to comment
Share on other sites

I've seen that script, but it would be nice if there was a way to do it without having to script your way out of it. You'd just have a tickbox that says something like "Only assign x amount of cores on startup", then the name of the log file and what lines to look for. When that checkbox is ticked, it would always start on the specified (perhaps random?) cores.

Link to comment
Share on other sites

  • 1 month later...

New idea:

Would be great if we could create scripts that could only be executed as Scheduled Tasks.

 

I've created a custom script for Rust that will wipe the server, but only on the first Thursday every month. There's really no point in having this as a custom icon/action or anything else :p

Link to comment
Share on other sites

Would be nice if we were able to send rcon commands as the Stop command. I can see why this might be an issue since TCAdmin needs to know the rcon password, so it can't be set manually in a text editor. It has to be set through the command line or a configuration editor so TCAdmin knows the value.

Currently, it can be done using a custom script:

import clr;
import System;

clr.AddReference("TCAdmin.GameHosting.SDK")
from TCAdmin.GameHosting.SDK import rconClient
from TCAdmin.GameHosting.SDK import RCONGameType

rconclient=rconClient()
rconclient.GameType = RCONGameType.UnityTelnet
rconclient.Server = ThisService_IpAddress
rconclient.Port = ThisService_RConPort

rconclient.Send(None, None, ThisService_RConPassword, "shutdown")

rconclient.ReadResponse()

if rconclient.ResposeText == None :
 Script.WriteToConsole("No response")
else:
 Script.WriteToConsole(rconclient.ResposeText)

Credit goes to @LFA for the script.
The above script works for 7 Days to Die with the UnityTelnet protocol. It will send "shutdown" to the server if executed on the "Before Stopped" event.

Link to comment
Share on other sites

On 2/18/2020 at 1:04 PM, DennisHermannsen said:

New idea:

Would be great if we could create scripts that could only be executed as Scheduled Tasks.

 

I've created a custom script for Rust that will wipe the server, but only on the first Thursday every month. There's really no point in having this as a custom icon/action or anything else :p

This is included in 2.0.142.6

Link to comment
Share on other sites

  • 2 weeks later...

New addition: Collapse update groups by default (same as we can with mods)

We're offering various kinds of updates for Minecraft (vanilla, Spigot, Craftbukkit, Snapshots), and the list of updates is long. Spigot updates are placed last on the long list, which means the client has to scroll a long way.

Link to comment
Share on other sites

Allow folders in TCA.Maps to "group" maps when using "Map File List"

Let's say you want to provide 3 different map packs for clients:

  • Surf Tier 1-2
  • Surf Tier 3-4
  • Surf Tier 5-7

This can be done right now by archiving all files into a .zip or .rar file but this forces the user to install every single map.

If we could create folders inside TCA.Maps, we could group these maps without having to create an archive. Here's an example:

TCA.Maps\Surf_Tier_1-2\

  • surf_map1.bsp
  • surf_map2.bsp
  • surf_map3.bsp

When setting up the Map Pack in TCAdmin, specify "Map file list" as the type and input "Surf_Tier_1-2\*.bsp" in the "File Extensions" field. The client would then be able to select the map pack and specify what maps he would like to install. These maps should be copied to csgo\maps (and not csgo\maps\Surf_Tier_1-2\).

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Who's Online   0 Members, 0 Anonymous, 21 Guests (See full list)

    • There are no registered users currently online
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Terms of Use