gameservermanagers / linuxgsm Goto Github PK
View Code? Open in Web Editor NEWThe command-line tool for quick, simple deployment and management of Linux dedicated game servers.
Home Page: https://linuxgsm.com
License: MIT License
The command-line tool for quick, simple deployment and management of Linux dedicated game servers.
Home Page: https://linuxgsm.com
License: MIT License
Top work on the script, I'm assuming it's still being tested but just wanted to point this out:
Creating server.cfg
touch: cannot touch `/home/nmrih2/nmrih_ds/tf/cfg/server.cfg': No such file or directory
./nmrih-server: line 563: /home/nmrih2/nmrih_ds/tf/cfg/server.cfg: No such file or directory
The "tf" sub-directory appears to be superfluous.
Some distros do not allow standard users access to ifconfig command. A workaround for this will be needed
Incorporate fn_autoip in to fn_details to display the server IP
Also check for any bugs and se eif improvements can be made
Error on install. steamclient.so fix may not be needed for this server
Applying steamclient.so fix
mkdir: created directory /home/ns2server/.steam' mkdir: created directory
/home/ns2server/.steam/sdk32'
cp: cannot stat `/home/ns2server/serverfiles/bin/steamclient.so': No such file or directory
Create a loop so that all the required files can be downloaded in order without the need to replicate code.
Insurgency game will be the next server release
Hi,
yesterday i was playing on ty l4d2 Server and after loading a map it crashed.
Failure reason: Failed to query l4d2-server: ERROR: Unable to receive Action Taken: restarted l4d2-server
This was the second time this happend after loading a map, do you think it is possible that your script restarts the server while it is loading a new map?
Than you
Only a minor issue that is resolved after restarting the server again. This can be fixed by using the touch command during installation. I will fix when I have time.
[ .... ] Starting csgo-server: testmv: cannot stat `/home/csgoserver/log/console/csgo-server-console.log': No such file or directory
I have found that running multiple instances of a server on the same user didnt quite work with grep ${servicename}. Example of issue was kfserver is like kf-server-objective and woudl pick up both servers. instead grep -E "^${servicename}:" would pickup only the specific server and stop the risk of picking up both.
i know there is a bug with SteamCMD using appid 90, but i have tryed for 45 mins now, can get it to install the files
ubuntu server 12.04
csserver Version: 101113
sorenwp
The current error message is confusing some users. I will find a way to make the message more obvious.
http://left4dead-info.blogspot.com/2008/12/steam-group-server-settings.html
sv_allow_lobby_connect_only 0
sv_steamgroup ######
sv_steamgroup_exclusive 1
Also the steamgroup id can be found by http://api.steampowered.com/ISteamUser/GetUserGroupList/v0001/?key={steamapikey}&steamid={userid}
where userid is the last part of http://steamcommunity.com/profiles/{lots-o-numbers}
There are multiple possible groups a user can be in, I am unsure how to get the name/string of them as of yet.
Duplicate code in case.
fn_console(){
fn_rootcheck
fn_syscheck
echo ""
echo "${gamename} Console"
echo "============================"
echo ""
echo "Press \"CTRL+b d\" to exit console"
echo -e "\e[0;31mWARNING!\e[0;39m Do NOT press CTRL+c to exit"
echo ""
while true; do
read -p "Continue? [y/N]" yn
case $yn in
[Yy]\* ) break;;
[Nn]\* ) echo Exiting; return 1 ;;
[Nn]\* ) echo Exiting; return 1 ;;
\* ) echo "Please answer yes or no.";;
esac
done
I try to start the server and i get this error:
create session failed: ./ucc-bin server KF-BioticsLab.rom?game=KFmod.KFGameType?VACSecured=true -nohomedir ini=kf-server.ini log= |tee -a /home/kfserver/log/console/kf-server-console.log: Operation not permitted
Do you know where it can be from?
I belive maps compressor in ut2k4 has overwritten ut99server. I will need to restore this.
I have 4 white listed mutators:
AntiBlocker 1.1
Country Tags
Damagepopup
Patriarch HP Left
I've tried adding them to the kf-server.ini and also setting them from the web admin interface, and they don't persist between map changes. Not sure if this is a problem with the web interface or something with the config. I've tried hitting the restart level link and also restarting the server from the command line after changing things, but the mutators get cleared.
Newer versions of Ubuntu and Debian have some dependency changes.
I will be re testing various distros and creating a separate change with my finds on it allowing for me to easily update these
Need to remove this code from the following function as not needed.
fn_hldsdl(){
tar --verbose -zxf steamcmd_linux.tar.gz
rm -v steamcmd_linux.tar.gz
Planning to add a basic backup feature to tar.gz the whole server in to a directory. Allowing server admins to backup there files before making any changes to there server. This would be great for quick backups but not as a full backup solution. For that some sort of rsync solution would be reccomeneded.
It is possible to get access to the server admin console, so that you could change maps without being in the game?
That could be cool!
Thanks for the awesome work anyways!
Since there are quite a few game servers now I have to do LOTS of tedious merging to make sure they are up to date. I will be working on moving as many variables to the top of the script as possible to reduce the chance of me merging the wrong code and speed up this process.
A Feature in development currently is a server query tool written in Python to query servers and see if they respond. If a server fails to respond the server is rebooted. This will stop the issue of servers crashing but the process not stopping.
This will be rolled out as and when servers can be supported
A basic version called serverquery.py works for CS 1.6 servers only.
Several people have advised a security issue with using server.cfg and wanted an option to use a different server.cfg name
because of the move to steampipe this script needs updating
Creating a sysemdir variable on all scripts will make is easier to standardize all scripts making merging easier
I think there may be some bug in install.
Start variables are incorrect for game_mode and game_type.
# [Game Modes] game_mode game_type
# Classic Casual 0 0
# Classic Competitive 0 1
# Arms Race 1 0
# Demolition 1 1
Should be:
# [Game Modes] game_type game_mode
# Classic Casual 0 0
# Classic Competitive 0 1
# Arms Race 1 0
# Demolition 1 1
# Deathmatch 1 2
Also, duplication issue:
defaultmap="de_dust"
mapgroup="random_classic"
maxplayers="16"
defaultmap="de_dust2"
mapgroup="random_classic"
Another issue:
maxplayers is inadequate or useless, replace back to maxplayers_override, maxplayers is overridden by gamemodes.txt.
Additions:
Add tickrate:
tickrate="128"
parameter: -tickrate ${tickrate}
Additions:
Add in host_workshop parameters or example parameter for future use.
Example:
parms="-game csgo -usercon -tickrate ${tickrate} +map ${defaultmap} +mapgroup ${mapgroup} +game_mode ${gamemode} +game_type ${gametype} -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} -maxplayers_override ${maxplayers} "
parms="-game csgo -usercon -tickrate ${tickrate} +map ${defaultmap} +mapgroup ${mapgroup} +game_mode ${gamemode} +game_type ${gametype} -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} -maxplayers_override ${maxplayers} +host_workshop_collection ${wh_collection_id} +workshop_start_map ${wh_start_map} -authkey ${authkey}"
I will create a fork of this soon with examples of more additions that should be made.
Florian Henze says:
November 15, 2013 at 12:53 am (Edit)
The script is really great for an easy-to-go server. But I faced two issues.
${filesdir}/ts3server_startscript.sh status inifile=${ini}
${filesdir}/ts3server_startscript.sh status inifile=${ini} > /dev/null 2>&1
Replace line 264 with the same content of 237 or just remove ” > /dev/null 2>&1″ in the end and it will work.
Maybe a leftover from a debug session?
markezzz says:
November 4, 2013 at 3:51 pm (Edit)
Hello Daniel,
I started my ts3-server with the ts3server-script. Than i wanted to test the monitor-function from the script.
I get all time this error:
ts3server@GPR0067:~$ ./ts3server start
[ OK ] Starting ts3-server: Teamspeak 3 Server
ts3server@GPR0067:~$ ./ts3server monitor
[ WARN ] ts3-server: Monitor detected Teamspeak 3 Server had stopped!
[ INFO ] ts3-server: Teamspeak 3 Server Unknown error
[ OK ] Stopping ts3-server: Teamspeak 3 Server
[ OK ] Starting ts3-server: Teamspeak 3 Server
But i have started the server and it show all time the ts3-server has stopped.
What is my failure on this step?
Hi,
the installation of CS:GO failed for me using the original installer, because the script failed to login to the Steam network. After modifying the installer in line 538 from
STEAMEXE=steamcmd ./steam.sh +runscript install.txt
to
STEAMEXE=steamcmd ./steamcmd.sh +runscript install.txt
the login was successful, and the app was downloaded and install successfully.
I'm using Ubuntu 12.04 LTS, if that matters.
Greetings
jdno
Not Working :)
./l4d2server: line 210: syntax error near unexpected token fi' ./l4d2server: line 210:
fi'
Hi,
I've just ventured into the world of linux for game server hosting and found your script very useful. I hope this might be the right forum to submit my text, if not, please advise.
I would like to list some of the issues I had and perhaps it might:
I've tried CentOS 6.4 minimal OS & Ubuntu.
Architecture: 2x L5520 with 36GB memory. I'm running hyper-v (1 router, 2 webservers & a gameserver)
I initially had a lot of issues with:
First issue: port forwarding on vyatta (http://docs.vyatta.com/6.6/Quick%20Start/Welcome.1.1.html). no matter what I tried, I could not connect to the CentOS game server, I verified that my NAT port forwarding rules were configured correctly by setting up the Ubuntu server, which worked but had very unstable fps.
Second issue: tmux didn't work at all, I ended up recompiling tmux after which things started working: http://blog.assarbad.net/20130116/tmux-is-great-but-how-to-build-on-lucid-lynx/
Third issue: iptables, I finally figured out the iptables were the reason I couldn't connect and this solved my issue: https://forums.alliedmods.net/showthread.php?t=165560
Fourth issue: console: connext worked, but joining via the community browser didn't. I solved this by adding -ip & +net_public_adr to the command line parameters
performance - I was really concerned about the performance as it was horrible under ubuntu. However, I read up on RT Kernels, I figured out CentOS 6.4 comes compiled with 1000 HZ config, but NOHZ=on. I added the NOHZ=off option to the grub boot.config, although that hardly changed anything.
Now I have just finished the script to boost the srcds_linux process. I will paste the script below - please advise if what I'm doing makes sense or not. the only thing left for me to do is set up the cron jobs, but seems crontab is no longer used in CentOS 6+ and I wonder if it is better to install crontab or work with the newer tools?
srcds_boost script for vanila CentOS 6.4:
https://gist.github.com/so0k/7446931
Hello,
I have recognized that sometimes the logfile isn't up to date.
This often occurs when I restart my server.
I open the logfile and see that the last line only contains the half. When I open the server in console mode and press enter the missing part is shown in the console and appears in the console.
I think it is an issue related to tmux.
Please help me fix it up. I'm using CentOS 6.4 x86-64
There is a 64 bit server binary that can be used instead of the 32-bit version. Need to detect if 64-bit and use this binary instead of the 32-bit version.
New Backup Feature just added to the scripts allowing to create an archive of the server before making changes to it
A very limited config is put in place currently. I would like to improve these over time.
Creating server.cfg
touch: cannot touch `/home/csserver/serverfiles/cstrike/cfg/server.cfg': No such file or directory
./csserver: line 574: /home/csserver/serverfiles/cstrike/cfg/server.cfg: No such file or directory
Creating default config file:
Should upstart be supported?
This can be used to make server start as a user on boot.
https://help.ubuntu.com/community/UbuntuBootupHowto#Writing_Services
http://upstart.ubuntu.com/cookbook/#session-job
Found an update to the original forum post:
http://forums.tripwireinteractive.com/showthread.php?p=442340#post442340
Stating that the CharSet no longer needs to be set as utf-8.
The original issue with having the CharSet as iso-8859-1 was that when setting the servers name on the web interface any spaces would instead show up at ?
I will need to test this with UT2004 and Killing Floor.. If this is no longer required I will remove the fix from the installer
mkdir: created directory /home/kfserver/log/script' mkdir: created directory
/home/kfserver/log/console'
ln: creating symbolic link /home/kfserver/log/server' ->
': No such file or directory
Adding support for No more Room in Hell
starbound server script would be awesome
on a fresh Ubuntu 13.10 x64 with the user lfd2
edit: I think a paste or a gist will be better.
https://gist.github.com/Estevo-Aleixo/028f8acfa96053271dbb
Is the problem on my end? Has Steam updated their steam.sh script to become incompatible?
l4d2@d2:~$ du -a
4 ./.profile
4 ./.bash_logout
4 ./serverfiles
4 ./.bashrc
16 ./steamcmd/steam.sh
4 ./steamcmd/steamcmd.sh
3720 ./steamcmd/linux32/libstdc++.so.6
5512 ./steamcmd/linux32/steamcmd
9236 ./steamcmd/linux32
9260 ./steamcmd
20 ./l4d2server
9300 .
l4d2@d2:~$ ls -l steamcmd/linux32/steamcmd
-rwxrw-r-- 1 l4d2 l4d2 5642610 Feb 5 2013 steamcmd/linux32/steamcmd
I believe that server logging is not working as intended.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.