Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
1. Dedicated service user: You install everything under your user, which most likely is able to do sudo. Not a good idea securitywise. Use dedicated system users with minimal permissions and no shell.
2. screen is outdated. tmux is far better supported, updated and used.
3. Long running processes are better to be started with systemd services; this way you can also limit resources in a better way.
While I only did stuff for CSS, you might be able to fetch some ideas out of this script:
https://github.com/M3tal-Warrior/installers/blob/master/cssource/install.sh
I focused on ease of installation as well as security, as I... well, do this professionally ;) So if you need further help (or encounter bugs/issues with my stuff), feel free to drop me some lines.
Thanks for the feedback!
Some points ...
- Actually in the guide, I specifically say NOT to run the games under "root" (or any sudo-enabled account). Only OS prep type stuff (installing packages, etc.) is done under root or sudo.
- yeah "screen" is old, but its what I had already coded for years ago.
- All the "run" scripts have executables wrapped in "nice". But yeah, there's always going to be a better way - for those the really know their way around Linux anyway. This is kind of for relative Linux noobs.
But any additional notes for others I am sure will be appreciated!You will find if you execute the stuff with systemd services, you don't need tmux/screen any more. Furthermore the servers do start on reboot automatically and can be restarted with single commands without switching users, or can be restarted all automatically if they bail out for some reason. I'd wholly recommend that, especially since the executing user doesn't need a shell associated with it, so even if an attacker gains permissions to do stuff on the system, not having a shell is an additional obstacle.
Using nice to start services shouldn't be necessary, as all crucial services already run with higher priorities (-10 and below). And nice only accounts for CPU. Limits in systemd are a lot more sophisticated; RAM, CPU, disk space, (forced volatile) private file systems (like in docker, but better), file descriptors...
Point is: A lot of stuff you have to do with your scripts manually is taken care by systemd out of the box, like logging (as everything that the server burbs out on STDOUT is being logged directly with the standard system log facilities).
If you're interested, we could talk a bit while gaming together ;)
P.S.: I didn't mean to criticise you, quite the contrary. I know how much work went into those scripts, I do shell scripting quite a lot. So please don't feel down due to my comments, I very much appreciate your work and wish I'd find more time for doing that too...
No worries man! Everybody's got a different way of doing things!
Some people over the years had asked me to explain how I had things setup and share my scripts with them. But, I had way too much dirty stuff in my scripts (hard-coded accounts, passwords, keys, etc.) to share them. So, when I finally got-around to cleaning things I up, I made sure I made them more cleanly publishable for anyone who might want them.
In particular, used to host a bunch of TF2 and FoF stuff, and would get alot of questions from FoF community on how to host this stuff.
Take care!