@ -0,0 +1,119 @@ |
|||
{ |
|||
"files": [ |
|||
"README.md" |
|||
], |
|||
"imageSize": 100, |
|||
"commit": false, |
|||
"contributors": [ |
|||
{ |
|||
"login": "dgibbs64", |
|||
"name": "Daniel Gibbs", |
|||
"avatar_url": "https://avatars2.githubusercontent.com/u/4478206?v=4", |
|||
"profile": "https://danielgibbs.co.uk", |
|||
"contributions": [ |
|||
"bug", |
|||
"code", |
|||
"ideas", |
|||
"question", |
|||
"review", |
|||
"content", |
|||
"doc", |
|||
"infra" |
|||
] |
|||
}, |
|||
{ |
|||
"login": "Frisasky", |
|||
"name": "Frisasky", |
|||
"avatar_url": "https://avatars2.githubusercontent.com/u/26865851?v=4", |
|||
"profile": "https://github.com/Frisasky", |
|||
"contributions": [ |
|||
"question", |
|||
"bug", |
|||
"code" |
|||
] |
|||
}, |
|||
{ |
|||
"login": "kennyLtv", |
|||
"name": "Kenny Lindelof", |
|||
"avatar_url": "https://avatars2.githubusercontent.com/u/6133325?v=4", |
|||
"profile": "https://kennyl.design", |
|||
"contributions": [ |
|||
"question" |
|||
] |
|||
}, |
|||
{ |
|||
"login": "Scarsz", |
|||
"name": "Austin Shapiro", |
|||
"avatar_url": "https://avatars1.githubusercontent.com/u/7691988?v=4", |
|||
"profile": "https://scarsz.me", |
|||
"contributions": [ |
|||
"bug", |
|||
"code" |
|||
] |
|||
}, |
|||
{ |
|||
"login": "marvinlehmann", |
|||
"name": "Marvin Lehmann", |
|||
"avatar_url": "https://avatars2.githubusercontent.com/u/4151266?v=4", |
|||
"profile": "https://github.com/marvinlehmann", |
|||
"contributions": [ |
|||
"bug", |
|||
"code" |
|||
] |
|||
}, |
|||
{ |
|||
"login": "Bourne-ID", |
|||
"name": "Bourne-ID", |
|||
"avatar_url": "https://avatars1.githubusercontent.com/u/7073616?v=4", |
|||
"profile": "https://github.com/Bourne-ID", |
|||
"contributions": [ |
|||
"review", |
|||
"content", |
|||
"doc", |
|||
"infra", |
|||
"review" |
|||
] |
|||
}, |
|||
{ |
|||
"login": "cedarlug", |
|||
"name": "CedarLUG", |
|||
"avatar_url": "https://avatars2.githubusercontent.com/u/19336442?v=4", |
|||
"profile": "http://cedarlug.org", |
|||
"contributions": [ |
|||
"bug", |
|||
"code", |
|||
"ideas", |
|||
"question", |
|||
"review" |
|||
] |
|||
}, |
|||
{ |
|||
"login": "UltimateByte", |
|||
"name": "UltimateByte", |
|||
"avatar_url": "https://avatars3.githubusercontent.com/u/8805941?v=4", |
|||
"profile": "https://www.terageek.org | https://www.haisoft.fr", |
|||
"contributions": [ |
|||
"bug", |
|||
"code", |
|||
"doc", |
|||
"ideas", |
|||
"review" |
|||
] |
|||
}, |
|||
{ |
|||
"login": "borzaka", |
|||
"name": "Attila", |
|||
"avatar_url": "https://avatars0.githubusercontent.com/u/1230402?v=4", |
|||
"profile": "https://github.com/borzaka", |
|||
"contributions": [ |
|||
"code", |
|||
"bug" |
|||
] |
|||
} |
|||
], |
|||
"contributorsPerLine": 7, |
|||
"projectName": "LinuxGSM", |
|||
"projectOwner": "GameServerManagers", |
|||
"repoType": "github", |
|||
"repoHost": "https://github.com" |
|||
} |
@ -0,0 +1,13 @@ |
|||
# EditorConfig helps developers define and maintain consistent coding styles between different editors and IDEs. |
|||
# Atom: Please assure your Atom's config setting Tab Type is set to auto, otherwise Atom-EditorConfig may not work as expected. Also disable whitespace package. |
|||
# http://editorconfig.org/ |
|||
|
|||
root = true |
|||
|
|||
[*] |
|||
charset = utf-8 |
|||
indent_style = tab |
|||
indent_size = 4 |
|||
trim_trailing_whitespace = true |
|||
end_of_line = lf |
|||
insert_final_newline = true |
@ -0,0 +1,22 @@ |
|||
# crlf line endings for text files |
|||
* text eol=lf |
|||
|
|||
# Denote all files that are truly binary and should not be modified. |
|||
*.png binary |
|||
*.jpg binary |
|||
*.so.6 binary |
|||
|
|||
# Custom for Visual Studio |
|||
*.cs diff=csharp |
|||
|
|||
# Standard to msysgit |
|||
*.doc diff=astextplain |
|||
*.DOC diff=astextplain |
|||
*.docx diff=astextplain |
|||
*.DOCX diff=astextplain |
|||
*.dot diff=astextplain |
|||
*.DOT diff=astextplain |
|||
*.pdf diff=astextplain |
|||
*.PDF diff=astextplain |
|||
*.rtf diff=astextplain |
|||
*.RTF diff=astextplain |
@ -0,0 +1,48 @@ |
|||
# Description |
|||
|
|||
Please include a summary of the change and which issues is fixed |
|||
|
|||
Fixes #[issue] |
|||
|
|||
## Type of change |
|||
|
|||
* [ ] Bug fix (change which fixes an issue). |
|||
* [ ] New feature (change which adds functionality). |
|||
* [ ] New Server (new server added). |
|||
* [ ] Refactor (restructures existing code). |
|||
* [ ] Comment update (typo, spelling, explanation, examples, etc). |
|||
|
|||
## Checklist |
|||
|
|||
PR will not be merged until all steps are complete. |
|||
|
|||
* [ ] This pull request links to an issue. |
|||
* [ ] This pull request uses the `develop` branch as its base. |
|||
* [ ] This code follows the style guidelines of this project. |
|||
* [ ] I have provided Co-author details below. |
|||
* [ ] I have performed a self-review of my own code. |
|||
* [ ] I have checked that this code is commented where required. |
|||
* [ ] I have provided a detailed enough description of this PR. |
|||
* [ ] I have checked If documentation needs updating. |
|||
|
|||
## Provide Github Email |
|||
|
|||
Fill out below info or tick box below: |
|||
``` |
|||
Co-authored-by: John Doe <name@example.com> |
|||
``` |
|||
|
|||
- [ ] I do not wish to provide an email. I am aware this will hide me as the author of this commit. |
|||
|
|||
All pull requests will now be squashed to create a tidy commit history and simplify changelog creation. You can provide either your own email or a GitHub-provided no-reply email. |
|||
|
|||
When a PR is squashed the author becomes the person who squashed the PR. This removes you as the author of your own PR. |
|||
The only workaround for this is to add your details as a co-author. More info about co-authors can be found [here](https://help.github.com/en/articles/creating-a-commit-with-multiple-authors). |
|||
|
|||
## Documentation |
|||
|
|||
If documentation does need updating either update it by creating a PR (preferred) or request a documentation update. |
|||
* User docs: https://github.com/GameServerManagers/LinuxGSM-Docs |
|||
* Dev docs: https://github.com/GameServerManagers/LinuxGSM-Dev-Docs |
|||
|
|||
**Thank you for your Pull Request!** |
@ -0,0 +1,46 @@ |
|||
--- |
|||
name: Bug report |
|||
about: Found a bug? Raise a report |
|||
|
|||
--- |
|||
Follow **[this guide](https://linuxgsm.com/support/#guide)** to make sure you post the correct info. |
|||
For general support visit the **[LinuxGSM-Support](https://github.com/GameServerManagers/LinuxGSM-Support)**. |
|||
|
|||
Issues here are **ONLY** for: |
|||
* LinuxGSM bugs |
|||
* feature suggestions |
|||
* code contributions |
|||
|
|||
Issues here are **NOT** for: |
|||
* General support |
|||
* Specific game server issues (e.g CS:GO, TF2) |
|||
* Dedicated server issues (e.g Ubuntu, CentOS) |
|||
* Anything not directly related to LinuxGSM development |
|||
|
|||
Any general support issues on GitHub will be migrated to [LinuxGSM-Support](https://github.com/GameServerManagers/LinuxGSM-Support). |
|||
|
|||
*Please use the template below* |
|||
|
|||
## User Story |
|||
|
|||
As a [user description], I want [desired action] so that [desired outcome]. |
|||
|
|||
## Basic info |
|||
|
|||
* Distro: [Ubuntu 18.04] |
|||
* Game: [Garry's Mod] |
|||
* Command: [Monitor] |
|||
|
|||
## Further Information |
|||
|
|||
A clear description of what the bug is and any ideas on how to resolve it. Plus any further context that might be relevant to the issue. |
|||
|
|||
## To Reproduce |
|||
|
|||
Steps to reproduce the behaviour: |
|||
1. Go to '...' |
|||
2. Click on '....' |
|||
3. Scroll down to '....' |
|||
4. See error |
|||
|
|||
## Expected behaviour |
@ -0,0 +1,40 @@ |
|||
--- |
|||
name: Feature request |
|||
about: Suggest an idea for this project |
|||
|
|||
--- |
|||
Follow **[this guide](https://linuxgsm.com/support/#guide)** to make sure you post the correct info. |
|||
For general support visit the **[LinuxGSM-Support](https://github.com/GameServerManagers/LinuxGSM-Support)**. |
|||
|
|||
Issues here are **ONLY** for: |
|||
* LinuxGSM bugs |
|||
* feature suggestions |
|||
* code contributions |
|||
|
|||
Issues here are **NOT** for: |
|||
* General support |
|||
* Specific game server issues (e.g CS:GO, TF2) |
|||
* Dedicated server issues (e.g Ubuntu, CentOS) |
|||
* Anything not directly related to LinuxGSM development |
|||
|
|||
Any general support issues on GitHub will be migrated to [LinuxGSM-Support](https://github.com/GameServerManagers/LinuxGSM-Support). |
|||
|
|||
*Please use the template below* |
|||
|
|||
## User Story |
|||
|
|||
As a [user description], I want [desired action] so that [desired outcome]. |
|||
|
|||
## Basic info |
|||
|
|||
* Distro: [Ubuntu 18.04] |
|||
* Game: [Garry's Mod] |
|||
* Command: [Monitor] |
|||
|
|||
## Further Information |
|||
|
|||
A clear description of what the feature is and any ideas on how to achieve this. |
|||
|
|||
## Further Reading |
|||
|
|||
Provide any useful documentation or resources that might help. |
@ -0,0 +1,29 @@ |
|||
--- |
|||
name: New server request |
|||
about: Suggest a new game server to be added |
|||
|
|||
--- |
|||
|
|||
## What game server would you like adding? |
|||
|
|||
[game server] |
|||
|
|||
## Can you link to any tutorials or guides? |
|||
|
|||
Provide any useful documentation or resources that might help. |
|||
|
|||
## Is the server on Steam? |
|||
|
|||
* [ ] Yes |
|||
* [ ] No |
|||
|
|||
If yes Use SteamDB to get the appid. (https://steamdb.info). |
|||
|
|||
[appid] |
|||
|
|||
## Is the server supported on Linux? |
|||
|
|||
We only support Linux servers and do not support Wine. |
|||
|
|||
* [ ] Yes |
|||
* [ ] No |
@ -0,0 +1,38 @@ |
|||
# Configuration for Lock Threads - https://github.com/dessant/lock-threads |
|||
|
|||
# Number of days of inactivity before a closed issue or pull request is locked |
|||
daysUntilLock: 365 |
|||
|
|||
# Skip issues and pull requests created before a given timestamp. Timestamp must |
|||
# follow ISO 8601 (`YYYY-MM-DD`). Set to `false` to disable |
|||
skipCreatedBefore: false |
|||
|
|||
# Issues and pull requests with these labels will be ignored. Set to `[]` to disable |
|||
exemptLabels: [] |
|||
|
|||
# Label to add before locking, such as `outdated`. Set to `false` to disable |
|||
lockLabel: false |
|||
|
|||
# Comment to post before locking. Set to `false` to disable |
|||
lockComment: > |
|||
This thread has been automatically locked since there has not been |
|||
any recent activity after it was closed. Please open a new issue for |
|||
related bugs. |
|||
|
|||
# Assign `resolved` as the reason for locking. Set to `false` to disable |
|||
setLockReason: false |
|||
|
|||
# Limit to only `issues` or `pulls` |
|||
# only: issues |
|||
|
|||
# Optionally, specify configuration settings just for `issues` or `pulls` |
|||
# issues: |
|||
# exemptLabels: |
|||
# - help-wanted |
|||
# lockLabel: outdated |
|||
|
|||
# pulls: |
|||
# daysUntilLock: 30 |
|||
|
|||
# Repository to extend settings from |
|||
# _extends: repo |
@ -0,0 +1,10 @@ |
|||
# Configuration for probot-no-response - https://github.com/probot/no-response |
|||
|
|||
# Number of days of inactivity before an Issue is closed for lack of response |
|||
daysUntilClose: 60 |
|||
# Label requiring a response |
|||
responseRequiredLabel: "needs more info" |
|||
# Comment to post when closing an Issue for lack of response. Set to `false` to disable |
|||
closeComment: > |
|||
This issue has been automatically closed because there has been no response |
|||
to this issue and is now stale. |
@ -0,0 +1,13 @@ |
|||
# Label name and color to set, when potential duplicates are detected |
|||
issueLabel: "duplicate" |
|||
labelColor: 579e01 |
|||
|
|||
# If similarity is higher than this threshold, issue will be marked as duplicate |
|||
threshold: 0.60 |
|||
|
|||
# Comment to post when potential duplicates are detected |
|||
referenceComment: > |
|||
Potential duplicates: |
|||
{{#issues}} |
|||
- [#{{ number }}] {{ title }} ({{ accuracy }}%) |
|||
{{/issues}} |
@ -0,0 +1,4 @@ |
|||
template: | |
|||
## Changelog |
|||
|
|||
$CHANGES |
@ -0,0 +1,17 @@ |
|||
# Configuration for request-info - https://github.com/behaviorbot/request-info |
|||
|
|||
# *Required* Comment to reply with |
|||
requestInfoReplyComment: > |
|||
 |
|||
More data is required to assist with this issue |
|||
or issue template was not used correctly. |
|||
https://linuxgsm.com/support/#guide |
|||
|
|||
# *OPTIONAL* default titles to check against for lack of descriptiveness |
|||
# MUST BE ALL LOWERCASE |
|||
#requestInfoDefaultTitles: |
|||
# - update readme.md |
|||
# - updates |
|||
|
|||
# *OPTIONAL* Label to be added to Issues and Pull Requests with insufficient information given |
|||
requestInfoLabelToAdd: "needs more info" |
@ -0,0 +1,15 @@ |
|||
# Configuration for support-requests - https://github.com/dessant/support-requests |
|||
|
|||
# Label used to mark issues as support requests |
|||
supportLabel: "Outcome: wrong forum" |
|||
# Comment to post on issues marked as support requests. Add a link |
|||
# to a support page, or set to `false` to disable |
|||
supportComment: > |
|||
We use the issue tracker exclusively for bug reports and feature requests. |
|||
However, this issue appears to be a support request. Please use our |
|||
support channels to get help with the project. |
|||
https://linuxgsm.com/support |
|||
# Whether to close issues marked as support requests |
|||
close: true |
|||
# Whether to lock issues marked as support requests |
|||
lock: false |
@ -0,0 +1,4 @@ |
|||
# Configuration for top-issue-bot |
|||
labelName: ":thumbsup: Top Issue!" |
|||
labelColor: "f442c2" |
|||
numberOfIssuesToLabel: 5 |
@ -0,0 +1,21 @@ |
|||
# Configuration for welcome - https://github.com/behaviorbot/welcome |
|||
|
|||
# Configuration for new-issue-welcome - https://github.com/behaviorbot/new-issue-welcome |
|||
|
|||
# Comment to be posted to on first time issues |
|||
newIssueWelcomeComment: > |
|||
Thank you for opening your first issue. Be sure to follow the issue template! and guide for posting. https://linuxgsm.com/support/#guide |
|||
|
|||
# Configuration for new-pr-welcome - https://github.com/behaviorbot/new-pr-welcome |
|||
|
|||
# Comment to be posted to on PRs from first time contributors in your repository |
|||
newPRWelcomeComment: > |
|||
Thank you for opening this pull request! Please check out our contributing guidelines. |
|||
|
|||
# Configuration for first-pr-merge - https://github.com/behaviorbot/first-pr-merge |
|||
|
|||
# Comment to be posted to on pull requests merged by a first time user |
|||
firstPRMergeComment: > |
|||
Congratulations on merging your first pull request! Thank you for supporting LinuxGSM! |
|||
|
|||
# It is recommend to include as many gifs and emojis as possible |
@ -0,0 +1,4 @@ |
|||
# .github/write-good.yml |
|||
writeGood: true |
|||
alex: true |
|||
spellchecker: true |
@ -1,26 +1,47 @@ |
|||
language: bash |
|||
sudo: false |
|||
env: |
|||
- DISTRO=ubuntu-trusty |
|||
language: node_js |
|||
dist: xenial |
|||
node_js: |
|||
- 10 |
|||
|
|||
before_script: |
|||
- curl -L "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/shunit2/shunit2-2.1.6.tgz" | tar zx |
|||
|
|||
install: |
|||
npm install gamedig |
|||
addons: |
|||
apt: |
|||
sources: |
|||
- ubuntu-toolchain-r-test |
|||
packages: |
|||
- tmux |
|||
- mailutils |
|||
- postfix |
|||
- lib32gcc1 |
|||
- libstdc++6 |
|||
- libstdc++6:i386 |
|||
- telnet |
|||
- expect |
|||
|
|||
script: |
|||
- postfix |
|||
- curl |
|||
- wget |
|||
- file |
|||
- bzip2 |
|||
- gzip |
|||
- unzip |
|||
- bsdmainutils |
|||
- python |
|||
- util-linux |
|||
- ca-certificates |
|||
- binutils |
|||
- bc |
|||
- jq |
|||
- tmux |
|||
- lib32gcc1 |
|||
- libstdc++6 |
|||
- libstdc++6:i386 |
|||
- net-tools |
|||
- iproute2 |
|||
- shellcheck |
|||
|
|||
- bash tests/tests_jc2server.sh |
|||
- bash tests/tests_ts3server.sh |
|||
jobs: |
|||
include: |
|||
- stage: jobs |
|||
script: bash tests/tests_jc2server.sh |
|||
- # stage name not required |
|||
script: bash tests/tests_fctrserver.sh |
|||
- # stage name not required |
|||
script: bash tests/tests_mcserver.sh |
|||
- # stage name not required |
|||
script: bash tests/tests_ts3server.sh |
|||
- # retired as codacy does this check. |
|||
# script: bash tests/tests_shellcheck.sh |
|||
|
@ -1,201 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: 7 Days To Die | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## SteamCMD Login | https://github.com/GameServerManagers/LinuxGSM/wiki/SteamCMD#steamcmd-login |
|||
steamuser="username" |
|||
steampass="password" |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | http://7daystodie.gamepedia.com/Server |
|||
fn_parms(){ |
|||
parms="-logfile ${gamelogdir}/output_log__`date +%Y-%m-%d__%H-%M-%S`.txt -quit -batchmode -nographics -dedicated -configfile=${servercfgfullpath}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="294420" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="7 Days To Die" |
|||
engine="unity3d" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="sdtd-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}" |
|||
executabledir="${filesdir}" |
|||
executable="./7DaysToDieServer.x86" |
|||
servercfg="${servicename}.xml" |
|||
servercfgdefault="serverconfig.xml" |
|||
servercfgdir="${filesdir}" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${rootdir}/log/server" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
gamelog="${gamelogdir}/${servicename}-game.log" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,202 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: ARK: Survival Evolved | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
servername="ark-server" |
|||
port="7778" |
|||
queryport="27015" |
|||
rconport="32330" |
|||
rconpassword="" # Set to enable rcon |
|||
maxplayers="50" |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care |
|||
fn_parms(){ |
|||
parms="\"TheIsland?listen?MultiHome=${ip}?SessionName=${servername}?MaxPlayers=${maxplayers}?QueryPort=${queryport}?RCONPort=${rconport}?Port=${port}?ServerAdminPassword=${rconpassword}\"" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="376030" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="ARK: Survivial Evolved" |
|||
engine="unreal4" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="ark-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/ShooterGame" |
|||
executabledir="${systemdir}/Binaries/Linux" |
|||
executable="./ShooterGameServer" |
|||
servercfgdir="${systemdir}/Saved/Config/LinuxServer" |
|||
servercfg="GameUserSettings.ini" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
servercfgdefault="${servercfgdir}/GameUserSettings.ini" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,219 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: ARMA 3 | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## SteamCMD Login | https://github.com/GameServerManagers/LinuxGSM/wiki/SteamCMD#steamcmd-login |
|||
steamuser="username" |
|||
steampass="password" |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
ip="0.0.0.0" |
|||
port="2302" |
|||
|
|||
## ARMA 3 Modules |
|||
# Add mods with relative paths: |
|||
# mods/@cba_a3 |
|||
# To load the "Community Base Addons v3" module found in the |
|||
# directory serverfiles/mods/@cba_a3. Load several mods as: |
|||
# mods="mods/@ace\;mods/@acex\;mods/@cba_a3" |
|||
mods="" |
|||
|
|||
## Server-side Mods |
|||
servermods="" |
|||
|
|||
## Path to BattlEye |
|||
# Leave empty for default |
|||
bepath="" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care |
|||
fn_parms(){ |
|||
parms="-netlog -ip=${ip} -port=${port} -cfg=${networkcfgfullpath} -config=${servercfgfullpath} -mod=${mods} -servermod=${servermods} -bepath=${bepath} -autoinit -loadmissiontomemory" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="233780" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="ARMA 3" |
|||
engine="realvirtuality" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="arma3-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}" |
|||
executabledir="${filesdir}" |
|||
executable="./arma3server" |
|||
servercfg="${servicename}.server.cfg" |
|||
networkcfg="${servicename}.network.cfg" |
|||
servercfgdefault="server.cfg" |
|||
networkcfgdefault="network.cfg" |
|||
servercfgdir="${systemdir}/cfg" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
networkcfgfullpath="${servercfgdir}/${networkcfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
#gamelogdir="" # No server logs available |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,185 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Battlefield: 1942 | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
fn_parms(){ |
|||
parms="+hostServer 1 +dedicated 1" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
|
|||
#### Advanced Variables #### |
|||
|
|||
# Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Battlefield: 1942" |
|||
engine="refractor" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="bf1942-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}" |
|||
executabledir="${systemdir}" |
|||
executable="./start.sh" |
|||
servercfg="serversettings.con" |
|||
servercfgdefault="serversettings.con" |
|||
servercfgdir="${systemdir}/mods/bf1942/settings" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${filesdir}/Logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,207 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Black Mesa: Deathmatch | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="dm_bounce" |
|||
maxplayers="16" |
|||
port="27015" |
|||
sourcetvport="27020" |
|||
clientport="27005" |
|||
ip="0.0.0.0" |
|||
|
|||
## Optional: Game Server Login Token |
|||
# GSLT can be used for running a public server. |
|||
# More info: https://gameservermanagers.com/gslt |
|||
gslt="" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server |
|||
fn_parms(){ |
|||
parms="-game bms -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +sv_setsteamaccount ${gslt} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="346680" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Black Mesa: Deathmatch" |
|||
engine="source" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="bmdm-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/bms" |
|||
executabledir="${filesdir}" |
|||
executable="./srcds_run" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}/cfg" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directorie |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,197 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Blade Symphony | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## SteamCMD Login | https://github.com/GameServerManagers/LinuxGSM/wiki/SteamCMD#steamcmd-login |
|||
steamuser="username" |
|||
steampass="password" |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="duel_winter" |
|||
maxplayers="16" |
|||
port="27015" |
|||
sourcetvport="27020" |
|||
clientport="27005" |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server |
|||
fn_parms(){ |
|||
parms="-autoupdate -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="228780" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Blade Symphony" |
|||
engine="source" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="bs-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/berimbau" |
|||
executabledir="${filesdir}" |
|||
executable="./srcds_run.sh" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}/cfg" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,209 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: BrainBread 2 | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
## SteamCMD Login | https://github.com/GameServerManagers/LinuxGSM/wiki/SteamCMD#steamcmd-login |
|||
# Steam login |
|||
steamuser="username" |
|||
steampass="password" |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="bba_barracks" |
|||
maxplayers="20" |
|||
port="27015" |
|||
sourcetvport="27020" |
|||
clientport="27005" |
|||
ip="0.0.0.0" |
|||
|
|||
## Optional: Game Server Login Token |
|||
# GSLT can be used for running a public server. |
|||
# More info: https://gameservermanagers.com/gslt |
|||
gslt="" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server |
|||
fn_parms(){ |
|||
parms="-game brainbread2 -insecure -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +sv_setsteamaccount ${gslt} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="475370" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="BrainBread 2" |
|||
engine="source" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="bb2-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/brainbread2" |
|||
executabledir="${filesdir}" |
|||
executable="./srcds_run" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}/cfg" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -0,0 +1,73 @@ |
|||
# Contributor Covenant Code of Conduct |
|||
|
|||
## Our Pledge |
|||
|
|||
In the interest of fostering an open and welcoming environment, we as |
|||
contributors and maintainers pledge to making participation in our project and |
|||
our community a harassment-free experience for everyone, regardless of age, body |
|||
size, disability, ethnicity, sex characteristics, gender identity and expression, |
|||
level of experience, education, socio-economic status, nationality, personal |
|||
appearance, race, religion, or sexual identity and orientation. |
|||
|
|||
## Our Standards |
|||
|
|||
Examples of behavior that contributes to creating a positive environment |
|||
include: |
|||
|
|||
* Using welcoming and inclusive language |
|||
* Being respectful of differing viewpoints and experiences |
|||
* Gracefully accepting constructive criticism |
|||
* Focusing on what is best for the community |
|||
* Showing empathy towards other community members |
|||
|
|||
Examples of unacceptable behavior by participants include: |
|||
|
|||
* The use of sexualized language or imagery and unwelcome sexual attention or advances |
|||
* Trolling, insulting/derogatory comments, and personal or political attacks |
|||
* Public or private harassment |
|||
* Publishing others' private information, such as a physical or electronic address, without explicit permission |
|||
* Other conduct which could reasonably be considered inappropriate in a professional setting |
|||
|
|||
## Our Responsibilities |
|||
|
|||
Project maintainers are responsible for clarifying the standards of acceptable |
|||
behavior and are expected to take appropriate and fair corrective action in |
|||
response to any instances of unacceptable behavior. |
|||
|
|||
Project maintainers have the right and responsibility to remove, edit, or |
|||
reject comments, commits, code, wiki edits, issues, and other contributions |
|||
that are not aligned to this Code of Conduct, or to ban temporarily or |
|||
permanently any contributor for other behaviors that they deem inappropriate, |
|||
threatening, offensive, or harmful. |
|||
|
|||
## Scope |
|||
|
|||
This Code of Conduct applies both within project spaces and in public spaces |
|||
when an individual is representing the project or its community. Examples of |
|||
representing a project or community include using an official project e-mail |
|||
address, posting via an official social media account, or acting as an appointed |
|||
representative at an online or offline event. Representation of a project may be |
|||
further defined and clarified by project maintainers. |
|||
|
|||
## Enforcement |
|||
|
|||
Instances of abusive, harassing, or otherwise unacceptable behavior may be |
|||
reported by contacting the project team at [email protected]. All |
|||
complaints will be reviewed and investigated and will result in a response that |
|||
is deemed necessary and appropriate to the circumstances. The project team is |
|||
obligated to maintain confidentiality with regard to the reporter of an incident. |
|||
Further details of specific enforcement policies may be posted separately. |
|||
|
|||
Project maintainers who do not follow or enforce the Code of Conduct in good |
|||
faith may face temporary or permanent repercussions as determined by other |
|||
members of the project's leadership. |
|||
|
|||
## Attribution |
|||
|
|||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, |
|||
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html |
|||
|
|||
[homepage]: https://www.contributor-covenant.org |
|||
|
|||
For answers to common questions about this code of conduct, see |
|||
https://www.contributor-covenant.org/faq |
@ -0,0 +1,36 @@ |
|||
# How to contribute to LinuxGSM |
|||
|
|||
We are really glad you're reading this, because if you are then you have shown an interest in helping make LinuxGSM great. |
|||
|
|||
If you haven't already, come find us on [Discord](https://linuxgsm.com/discord). From there you will have contact with other contributers of the project. We want you working on things you're excited about. |
|||
|
|||
Before working on a project we recommend that you create a issue in regards to the issue/feature. This will prevent duplicates while you work on the feature. If an issue already exists, make note that you are working on it so nobody else wastes their time working on the same project at the same time! |
|||
|
|||
Here are some important resources: |
|||
|
|||
* [Issues Page](https://github.com/GameServerManagers/LinuxGSM/issues) provides a list of areas that could use some work, |
|||
* [Developer Wiki](https://github.com/GameServerManagers/LinuxGSM/wiki) gives a detailed guide on developing LGSM, |
|||
|
|||
## Testing |
|||
|
|||
Please make sure all the code you write is working properly **before** you create a pull request. Information on debugging can be found in the following document: |
|||
|
|||
[Developer Commands](https://github.com/GameServerManagers/LinuxGSM/wiki/Developer-Commands) |
|||
|
|||
## Submitting changes |
|||
|
|||
Please send a [GitHub Pull Request to LinuxGSM](https://github.com/GameServerManagers/LinuxGSM/pull/new/develop) with a clear list of what you've done (read more about [pull requests](https://help.github.com/articles/about-pull-requests)). Please follow our coding conventions (below) and make sure all of your commits are atomic (one feature per commit). |
|||
|
|||
Always write a clear log message for your commits. One-line messages are fine for small changes, but bigger changes should look like this: |
|||
|
|||
$ git commit -m "A brief summary of the commit |
|||
> |
|||
> A paragraph describing what changed and its impact." |
|||
This will help us in understanding your code and determining where problems may arise. |
|||
|
|||
## Coding conventions |
|||
|
|||
Start reading our code and you'll get the hang of it. Explore how functions are organized and you'll see how we strive for readable code. |
|||
|
|||
Please give the following document a read and adjust your code according to its specifications. |
|||
[Syntax & Coding Conventions](https://github.com/GameServerManagers/LinuxGSM/wiki/Syntax-and-Conventions) |
@ -1,187 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Call of Duty | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="mp_neuville" |
|||
maxclients="20" |
|||
port="28960" |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
fn_parms(){ |
|||
parms="+set sv_punkbuster 0 +set fs_basepath ${filesdir} +set dedicated 1 +set net_ip ${ip} +set net_port ${port} +set sv_maxclients ${maxclients} +exec ${servercfg} +map ${defaultmap}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### Advanced Variables #### |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Call of Duty" |
|||
engine="idtech3" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="cod-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}" |
|||
executabledir="${filesdir}" |
|||
executable="./cod_lnxded" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}/main" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${filesdir}/Logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,188 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Call of Duty 2 | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
|
|||
defaultmap="mp_leningrad" |
|||
maxclients="20" |
|||
port="28960" |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
fn_parms(){ |
|||
parms="+set sv_punkbuster 0 +set fs_basepath ${filesdir} +set dedicated 1 +set net_ip ${ip} +set net_port ${port} +set sv_maxclients ${maxclients} +exec ${servercfg} +map ${defaultmap}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### Advanced Variables #### |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Call of Duty 2" |
|||
engine="iw2.0" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="cod2-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}" |
|||
executabledir="${filesdir}" |
|||
executable="./cod2_lnxded" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}/main" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${filesdir}/Logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,188 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Call of Duty: United Offensive | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
|
|||
defaultmap="mp_cassino" |
|||
maxclients="20" |
|||
port="28960" |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
fn_parms(){ |
|||
parms="+set sv_punkbuster 0 +set fs_basepath ${filesdir} +set dedicated 1 +set net_ip ${ip} +set net_port ${port} +set sv_maxclients ${maxclients} +exec ${servercfg} +map ${defaultmap}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### Advanced Variables #### |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Call of Duty: United Offensive" |
|||
engine="idtech3" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="coduo-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}" |
|||
executabledir="${filesdir}" |
|||
executable="./coduo_lnxded" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}/uo" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${filesdir}/Logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,188 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Call of Duty: World at War | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
|
|||
defaultmap="mp_castle" |
|||
maxclients="20" |
|||
port="28960" |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
fn_parms(){ |
|||
parms="+set sv_punkbuster 0 +set fs_basepath ${filesdir} +set dedicated 1 +set net_ip ${ip} +set net_port ${port} +set sv_maxclients ${maxclients} +exec ${servercfg} +map ${defaultmap}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### Advanced Variables #### |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Call of Duty: World at War" |
|||
engine="iw3.0" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="codwaw-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}" |
|||
executabledir="${filesdir}" |
|||
executable="./codwaw_lnxded" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}/main" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${filesdir}/Logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,199 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Codename CURE | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="cbe_bunker" |
|||
maxplayers="6" |
|||
port="27015" |
|||
sourcetvport="27020" |
|||
clientport="27005" |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server |
|||
fn_parms(){ |
|||
parms="-game cure -insecure -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="383410" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Codename CURE" |
|||
engine="source" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="cc-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/cure" |
|||
executabledir="${filesdir}" |
|||
executable="./srcds_run" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}/cfg" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,201 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Counter-Strike | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="de_dust2" |
|||
maxplayers="16" |
|||
port="27015" |
|||
clientport="27005" |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Command_Line_Options#Command-line_parameters_2 |
|||
fn_parms(){ |
|||
parms="-game cstrike -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} -maxplayers ${maxplayers}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### Advanced Variables #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="90" |
|||
appidmod="cstrike" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Counter-Strike 1.6" |
|||
engine="goldsource" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="cs-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/cstrike" |
|||
executabledir="${filesdir}" |
|||
executable="./hlds_run" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,201 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Counter-Strike: Condition Zero | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="de_dust2" |
|||
maxplayers="16" |
|||
port="27015" |
|||
clientport="27005" |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Command_Line_Options#Command-line_parameters_2 |
|||
fn_parms(){ |
|||
parms="-game czero -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} -maxplayers ${maxplayers}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="90" |
|||
appidmod="czero" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Counter-Strike: Condition Zero" |
|||
engine="goldsource" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="cscz-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/czero" |
|||
executabledir="${filesdir}" |
|||
executable="./hlds_run" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,224 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Counter-Strike: Global Offensive | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
# https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Dedicated_Servers#Starting_the_Server |
|||
# [Game Modes] gametype gamemode |
|||
# Arms Race 1 0 |
|||
# Classic Casual 0 0 |
|||
# Classic Competitive 0 1 |
|||
# Demolition 1 1 |
|||
# Deathmatch 1 2 |
|||
gametype="0" |
|||
gamemode="0" |
|||
defaultmap="de_dust2" |
|||
mapgroup="random_classic" |
|||
maxplayers="16" |
|||
tickrate="64" |
|||
port="27015" |
|||
sourcetvport="27020" |
|||
clientport="27005" |
|||
ip="0.0.0.0" |
|||
|
|||
## Required: Game Server Login Token |
|||
# GSLT is required for running a public server. |
|||
# More info: https://gameservermanagers.com/gslt |
|||
gslt="" |
|||
|
|||
## Optional: Workshop Parameters |
|||
# https://developer.valvesoftware.com/wiki/CSGO_Workshop_For_Server_Operators |
|||
# To get an authkey visit - http://steamcommunity.com/dev/apikey |
|||
# authkey="" |
|||
# ws_collection_id="" |
|||
# ws_start_map="" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server |
|||
fn_parms(){ |
|||
parms="-game csgo -usercon -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +sv_setsteamaccount ${gslt} -tickrate ${tickrate} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers_override ${maxplayers} +mapgroup ${mapgroup} +game_mode ${gamemode} +game_type ${gametype} +host_workshop_collection ${ws_collection_id} +workshop_start_map ${ws_start_map} -authkey ${authkey}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="740" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Counter-Strike: Global Offensive" |
|||
engine="source" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="csgo-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/csgo" |
|||
executabledir="${filesdir}" |
|||
executable="./srcds_run" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}/cfg" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,207 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Counter-Strike: Source | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="de_dust2" |
|||
maxplayers="16" |
|||
port="27015" |
|||
sourcetvport="27020" |
|||
clientport="27005" |
|||
ip="0.0.0.0" |
|||
updateonstart="off" |
|||
|
|||
## Required: Game Server Login Token |
|||
# GSLT is required for running a public server. |
|||
# More info: https://gameservermanagers.com/gslt |
|||
gslt="" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server |
|||
fn_parms(){ |
|||
parms="-game cstrike -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +sv_setsteamaccount ${gslt} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="232330" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Counter-Strike: Source" |
|||
engine="source" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="css-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/cstrike" |
|||
executabledir="${filesdir}" |
|||
executable="./srcds_run" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}/cfg" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,202 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Day of Defeat | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="dod_Anzio" |
|||
maxplayers="16" |
|||
port="27015" |
|||
clientport="27005" |
|||
ip="0.0.0.0" |
|||
updateonstart="off" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Command_Line_Options#Command-line_parameters_2 |
|||
fn_parms(){ |
|||
parms="-game dod -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} -maxplayers ${maxplayers}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="90" |
|||
appidmod="dod" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Day of Defeat" |
|||
engine="goldsource" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="dod-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/dod" |
|||
executabledir="${filesdir}" |
|||
executable="./hlds_run" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,201 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Day of Defeat: Source | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="dod_Anzio" |
|||
maxplayers="16" |
|||
port="27015" |
|||
sourcetvport="27020" |
|||
clientport="27005" |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | ttps://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server |
|||
fn_parms(){ |
|||
parms="-game dod -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="232290" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Day of Defeat: Source" |
|||
engine="source" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="dods-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/dod" |
|||
executabledir="${filesdir}" |
|||
executable="./srcds_run" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}/cfg" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,204 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Day of Infamy | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="bastogne" |
|||
maxplayers="16" |
|||
tickrate="64" |
|||
port="27015" |
|||
sourcetvport="27020" |
|||
clientport="27005" |
|||
ip="0.0.0.0" |
|||
workshop="0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server |
|||
fn_parms(){ |
|||
parms="-game doi -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} -tickrate ${tickrate} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers} +sv_workshop_enabled ${workshop}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="462310" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Day of Infamy" |
|||
engine="source" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="doi-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/doi" |
|||
executabledir="${filesdir}" |
|||
executable="./srcds_run" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}/cfg" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
|
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,201 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Deathmatch Classic | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="dcdm5" |
|||
maxplayers="16" |
|||
port="27015" |
|||
clientport="27005" |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Command_Line_Options#Command-line_parameters_2 |
|||
fn_parms(){ |
|||
parms="-game dmc -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} -maxplayers ${maxplayers}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="90" |
|||
appidmod="dmc" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Deathmatch Classic" |
|||
engine="goldsource" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="dmc-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/dmc" |
|||
executabledir="${filesdir}" |
|||
executable="./hlds_run" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,207 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Dont Starve Together | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Installation Variables | https://github.com/GameServerManagers/LinuxGSM/wiki/Don't-Starve-Together |
|||
sharding="false" |
|||
master="true" |
|||
shard="Master" |
|||
cluster="Cluster_1" |
|||
cave="false" |
|||
|
|||
# Edit with care |
|||
persistentstorageroot="${HOME}/.klei" |
|||
confdir="DoNotStarveTogether" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
fn_parms(){ |
|||
parms="-persistent_storage_root ${persistentstorageroot} -conf_dir ${confdir} -cluster ${cluster} -shard ${shard}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="343050" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Don't Starve Together" |
|||
engine="dontstarve" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="dst-server-${shard}" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}" |
|||
executabledir="${filesdir}/bin" |
|||
executable="./dontstarve_dedicated_server_nullrenderer" |
|||
clustercfg="cluster.ini" |
|||
clustercfgdir="${persistentstorageroot}/${confdir}/${cluster}" |
|||
clustercfgfullpath="${clustercfgdir}/${clustercfg}" |
|||
clustercfgdefault="cluster.ini" |
|||
servercfg="server.ini" |
|||
servercfgdir="${clustercfgdir}/${shard}" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
servercfgdefault="server.ini" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,201 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Double Action: Boogaloo | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="da_rooftops" |
|||
maxplayers="10" |
|||
port="27015" |
|||
sourcetvport="27020" |
|||
clientport="27005" |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server |
|||
fn_parms(){ |
|||
parms="-strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="317800" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Double Action: Boogaloo" |
|||
engine="source" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="dab-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/dab" |
|||
executabledir="${filesdir}" |
|||
executable="./dabds.sh" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}/cfg" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,185 +0,0 @@ |
|||
#!/bin/bash |
|||
# Empires Mod |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="emp_district" |
|||
maxplayers="62" |
|||
port="27015" |
|||
sourcetvport="27020" |
|||
clientport="27005" |
|||
ip="0.0.0.0" |
|||
|
|||
## Optional: Game Server Login Token |
|||
# GSLT can be used for running a public server. |
|||
# More info: https://gameservermanagers.com/gslt |
|||
gslt="" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server |
|||
fn_parms(){ |
|||
parms="-game empires -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="460040" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Empires Mod" |
|||
engine="source" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="em-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/empires" |
|||
executabledir="${filesdir}" |
|||
executable="./srcds_run" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}/cfg" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,201 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Fistful Of Frags | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="fof_depot" |
|||
maxplayers="16" |
|||
port="27015" |
|||
sourcetvport="27020" |
|||
clientport="27005" |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server |
|||
fn_parms(){ |
|||
parms="-game fof -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="295230" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Fistful of Frags" |
|||
engine="source" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="fof-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/fof" |
|||
executabledir="${filesdir}" |
|||
executable="./srcds_run" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}/cfg" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,217 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Garry's Mod | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="gm_construct" |
|||
gamemode="sandbox" |
|||
maxplayers="16" |
|||
port="27015" |
|||
sourcetvport="27020" |
|||
clientport="27005" |
|||
tickrate="66" |
|||
ip="0.0.0.0" |
|||
|
|||
## Workshop Parameters | http://wiki.garrysmod.com/page/Workshop_for_Dedicated_Servers |
|||
workshopauth="" |
|||
workshopcollectionid="" |
|||
|
|||
## Custom Start Parameters |
|||
# Default +r_hunkalloclightmaps 0, fixes a start issue on maps with many lights |
|||
customparms="+r_hunkalloclightmaps 0" |
|||
|
|||
## Optional: Game Server Login Token |
|||
# GSLT can be used for running a public server. |
|||
# More info: https://gameservermanagers.com/gslt |
|||
gslt="" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server |
|||
fn_parms(){ |
|||
parms="-game garrysmod -strictportbind -ip ${ip} -port ${port} -tickrate ${tickrate} +host_workshop_collection ${workshopcollectionid} -authkey ${workshopauth} +clientport ${clientport} +tv_port ${sourcetvport} +gamemode ${gamemode} +map ${defaultmap} +sv_setsteamaccount ${gslt} +servercfgfile ${servercfg} -maxplayers ${maxplayers} ${customparms}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off] |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="4020" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Garry's Mod" |
|||
engine="source" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="gmod-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/garrysmod" |
|||
addonsdir="${systemdir}/addons" |
|||
executabledir="${filesdir}" |
|||
executable="./srcds_run" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}/cfg" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,201 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: GoldenEye: Source | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
# Start Variables |
|||
defaultmap="ge_archives" |
|||
maxplayers="16" |
|||
port="27015" |
|||
sourcetvport="27020" |
|||
clientport="27005" |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server |
|||
fn_parms(){ |
|||
parms="-game gesource -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="310" # Source 2007 SDK |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="GoldenEye: Source" |
|||
engine="source" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="ges-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/gesource" |
|||
executabledir="${filesdir}" |
|||
executable="./srcds_run" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}/cfg" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,201 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Half Life 2: Deathmatch | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="dm_lockdown" |
|||
maxplayers="16" |
|||
port="27015" |
|||
sourcetvport="27020" |
|||
clientport="27005" |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server |
|||
fn_parms(){ |
|||
parms="-game hl2mp -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="232370" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Half Life 2: Deathmatch" |
|||
engine="source" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="hl2dm-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/hl2mp" |
|||
executabledir="${filesdir}" |
|||
executable="./srcds_run" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}/cfg" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,200 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Half Life: Deathmatch | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="crossfire" |
|||
maxplayers="16" |
|||
port="27015" |
|||
clientport="27005" |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Command_Line_Options#Command-line_parameters_2 |
|||
fn_parms(){ |
|||
parms="-game valve -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} -maxplayers ${maxplayers}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="90" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Half Life: Deathmatch" |
|||
engine="goldsource" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="hldm-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/valve" |
|||
executabledir="${filesdir}" |
|||
executable="./hlds_run" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,204 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Half-Life Deathmatch: Source | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="crossfire" |
|||
maxplayers="16" |
|||
port="27015" |
|||
sourcetvport="27020" |
|||
clientport="27005" |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server |
|||
fn_parms(){ |
|||
parms="-game hl1mp -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="255470" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Half-Life Deathmatch: Source" |
|||
engine="source" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="hldms-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/hl1mp" |
|||
executabledir="${filesdir}" |
|||
executable="./srcds_run" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}/cfg" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%d-%m-%Y-%H-%M-%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%d-%m-%Y-%H-%M-%S').log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,214 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Hurtworld | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
servername="Hurtworld LGSM Server" |
|||
ip="0.0.0.0" |
|||
port="12871" |
|||
queryport="12881" |
|||
maxplayers="20" |
|||
map="" #Optional |
|||
creativemode="0" #Free Build: creativemode="1" |
|||
logfile="gamelog.txt" |
|||
|
|||
## Adding admins using STEAMID64 |
|||
# Example : addadmin 012345678901234567; addadmin 987654321098765432 |
|||
admins="" |
|||
|
|||
## Advanced Server Start Settings |
|||
# Rollback server state (remove after start command) |
|||
loadsave="" |
|||
# Use unstable 64 bit server executable (O/1) |
|||
x64mode="0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | http://hurtworld.wikia.com/wiki/Hosting_A_Server |
|||
fn_parms(){ |
|||
parms="-batchmode -nographics -exec \"host ${port} ${map} ${loadsave};queryport ${queryport};maxplayers ${maxplayers};servername ${servername};creativemode ${creativemode};${admins}\" -logfile \"${logfile}\" " |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="405100" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Hurtworld" |
|||
engine="unity3d" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="hurtworld-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname=$(basename $(readlink -f "${BASH_SOURCE[0]}")) |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}" |
|||
executabledir="${filesdir}" |
|||
if [ "${x64mode}" == "1" ]; then |
|||
executable="./Hurtworld.x86_64" |
|||
else |
|||
executable="./Hurtworld.x86" |
|||
fi |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${rootdir}/log/server" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
gamelog="${gamelogdir}/${servicename}-game.log" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -0,0 +1,15 @@ |
|||
Follow **[this guide](https://linuxgsm.com/support/#guide)** to make sure you post the correct info. |
|||
For general support visit the **[LinuxGSM-Support](https://github.com/GameServerManagers/LinuxGSM-Support)**. |
|||
|
|||
Issues here are **ONLY** for: |
|||
* LinuxGSM bugs |
|||
* feature suggestions |
|||
* code contributions |
|||
|
|||
Issues here are **NOT** for: |
|||
* General support |
|||
* Specific game server issues (e.g CS:GO, TF2) |
|||
* Dedicated server issues (e.g Ubuntu, CentOS) |
|||
* Anything not directly related to LinuxGSM development |
|||
|
|||
Any general support issues on GitHub will be closed. |
@ -1,302 +0,0 @@ |
|||
// **************************************************************************** |
|||
// * |
|||
// Ingurgency - server.cfg * |
|||
// Version 060116 * |
|||
// * |
|||
// **************************************************************************** |
|||
|
|||
// ............................. Basic Settings ............................. // |
|||
|
|||
// Hostname for server. |
|||
hostname "<hostname>" |
|||
|
|||
// Server password - for private servers. |
|||
sv_password "" |
|||
|
|||
// Contact email for server sysop. |
|||
sv_contact "[email protected]" |
|||
|
|||
// LAN Mode - If set the server will not show on the internet. |
|||
// Default: sv_lan 0 |
|||
sv_lan 0 |
|||
|
|||
// Set maximum server FPS |
|||
// Default: fps_max 300 |
|||
fps_max 300 |
|||
|
|||
// ........................... RCON Configuration .......................... // |
|||
|
|||
// RCON - remote console password. |
|||
rcon_password "<rconpassword>" |
|||
|
|||
// Number of minutes to ban users who fail rcon authentication |
|||
// min. 0 |
|||
sv_rcon_banpenalty 10 |
|||
|
|||
// Enable/disable rcon logging |
|||
sv_rcon_log 1 |
|||
|
|||
// Max number of times a user can fail rcon authentication before being banned |
|||
// min. 1 max. 20 |
|||
sv_rcon_maxfailures 5 |
|||
|
|||
// ......................... Matchmaking Playlists ......................... // |
|||
// info: Selecting a playlist will allow the server to show up in matchmaking. |
|||
// Playlists use predefined settings and mapcycle. |
|||
|
|||
// You do not need to select a mapcycle as the server will cycle though the |
|||
// predefined playlist mapcycle. |
|||
// |
|||
// If you want to change the predefined playlist mapcycle you can create a |
|||
// custom mapcycle but only with maps from the playlist mapcycle. |
|||
// |
|||
// You can also create your own custom playlists. |
|||
// http://steamcommunity.com/sharedfiles/filedetails/?id=461776759 |
|||
|
|||
// "nwi/comp" |
|||
// "nwi/coop" |
|||
// "nwi/coop_elite" |
|||
// "nwi/coop_hardcore" |
|||
// "nwi/pvp_sustained" |
|||
// "nwi/pvp_tactical" |
|||
// |
|||
sv_playlist "nwi/coop" |
|||
|
|||
// ............................... Map Cycles ............................... // |
|||
// info: There are several predefined mapcycles available that are listed below. |
|||
// You can also create your own custom mapcycle. |
|||
|
|||
// "mapcycle.txt" - by default this contains the most popular options |
|||
// "mapcycle_all.txt" - all possible map/mode combinations for PvP |
|||
// "mapcycle_ambush.txt" - all ambush (VIP) maps |
|||
// "mapcycle_attackdefend.txt" - push & strike maps |
|||
// "mapcycle_checkpoint.txt" - all checkpoint maps |
|||
// "mapcycle_comp.txt" - firefight & elimination maps |
|||
// "mapcycle_conquer.txt" - conquer gamemode |
|||
// "mapcycle_cooperative.txt" - survival, coop, hunt maps |
|||
// "mapcycle_firefight.txt" - all firefight maps |
|||
// "mapcycle_flashpoint.txt" - all flashpoint maps |
|||
// "mapcycle_hunt.txt" - all hunt maps |
|||
// "mapcycle_infiltrate.txt" - all infiltrate (CTF) maps |
|||
// "mapcycle_objrespawn.txt" - all firefight & flashpoint featuring respawning for completing objectives |
|||
// "mapcycle_occupy.txt" - all occupy maps |
|||
// "mapcycle_practice.txt" |
|||
// "mapcycle_push.txt" - all push maps |
|||
// "mapcycle_singlelife.txt" - strike & ambush single life modes |
|||
// "mapcycle_skirmish.txt" - all skirmish maps |
|||
// "mapcycle_strike.txt" - all strike maps |
|||
// "mapcycle_survival.txt" - all survival maps |
|||
// "mapcycle_sustained_combat.txt" |
|||
// "mapcycle_tactical_operations.txt" |
|||
// "mapcycle_workshop.txt" - used by Workshop system |
|||
// |
|||
//mapcyclefile "mapcycle.txt" |
|||
|
|||
// .......................... Coop Mode Settings ............................ // |
|||
// info: Settings for all cooperative gamemodes |
|||
|
|||
// Set the maximum number of human players in Cooperative modes |
|||
// Maximum value: 8 |
|||
// Default: mp_coop_lobbysize 6 |
|||
//mp_coop_lobbysize 6 |
|||
|
|||
// Set the minimum number of bots |
|||
//mp_coop_min_bots 5 |
|||
|
|||
// Set the maximum number of bots |
|||
// Maximum value: maxplayers - mp_coop_lobbysize |
|||
//mp_coop_max_bots 18 |
|||
|
|||
// ........................... Voting Settings .............................. // |
|||
|
|||
// Allow voting? |
|||
sv_allow_votes 1 |
|||
|
|||
// Is map voting enabled? |
|||
sv_map_voting 1 |
|||
|
|||
// Allow spectators to vote? |
|||
sv_vote_allow_spectators 0 |
|||
|
|||
// A vote that fails cannot be re-submitted for this long |
|||
sv_vote_failure_timer 300 |
|||
|
|||
// Can people hold votes to change AI count? |
|||
sv_vote_issue_botcount_allowed 1 |
|||
|
|||
// The voting population required to pass a bot count vote |
|||
// min. 0.1 max. 1 |
|||
sv_vote_issue_botcount_min_population 0.55 |
|||
|
|||
// What ratio of the votes needs to be yes to pass? (1 = All votes need to be yes) |
|||
// min. 0 max. 1 |
|||
sv_vote_issue_botcount_min_ratio 0.5 |
|||
|
|||
// Can people hold votes to change AI difficulty? |
|||
sv_vote_issue_botdifficulty_allowed 1 |
|||
|
|||
// The voting population required to pass an AI difficulty vote |
|||
// min. 0.1 max. 1 |
|||
sv_vote_issue_botdifficulty_min_population 0.55 |
|||
|
|||
// What ratio of the votes needs to be yes to pass? (1 = All votes need to be yes) |
|||
// min. 0 max. 1 |
|||
sv_vote_issue_botdifficulty_min_ratio 0.5 |
|||
|
|||
// Can people hold votes to change the gamemode? |
|||
sv_vote_issue_changegamemode_allowed 0 |
|||
|
|||
// Can people hold votes to change levels? |
|||
sv_vote_issue_changelevel_allowed 1 |
|||
|
|||
// If enabled, wait until the end of the round to change levels |
|||
sv_vote_issue_changelevel_wait 1 |
|||
|
|||
// Can people hold votes to kick players from the server? |
|||
sv_vote_issue_kick_allowed 1 |
|||
|
|||
// Can we kick the other team? |
|||
sv_vote_issue_kick_other_team 0 |
|||
|
|||
// Can people hold votes to set the next level? |
|||
sv_vote_issue_nextlevel_allowed 1 |
|||
|
|||
// Allow players to extend the current map? |
|||
sv_vote_issue_nextlevel_allowextend 0 |
|||
|
|||
// Present players with a list of maps to choose from? |
|||
sv_vote_issue_nextlevel_choicesmode 1 |
|||
|
|||
// Not allowed to vote for a nextlevel if one has already been set |
|||
sv_vote_issue_nextlevel_prevent_change 1 |
|||
|
|||
// How many rounds before map voting can begin |
|||
sv_vote_issue_nextlevel_round_count_delay 1 |
|||
|
|||
// The voting population required to pass a next level vote |
|||
// min. 0.1 max. 1 |
|||
sv_vote_issue_nextlevel_min_population 0.55 |
|||
|
|||
// How strong does the yes vote need to be to win? (2.0 = 2x more voters) |
|||
// min. 1 max. 5 |
|||
sv_vote_issue_nextlevel_min_ratio 0.5 |
|||
|
|||
// Can people hold votes to restart the game? |
|||
sv_vote_issue_restart_game_allowed 1 |
|||
|
|||
// Can people hold votes to restart the round? |
|||
sv_vote_issue_restart_round_allowed 1 |
|||
|
|||
// Can people hold votes to scramble the teams? |
|||
sv_vote_issue_scramble_teams_allowed 1 |
|||
|
|||
// Can people hold votes to switch the teams? |
|||
sv_vote_issue_switch_teams_allowed 1 |
|||
|
|||
// How long should a kick ban last for if a player is kicked for hacking? (minutes) |
|||
sv_vote_kick_ban_duration_cheating 240 |
|||
|
|||
// The voting population required to kick a person for hacking |
|||
// min. 0.1 max. 1 |
|||
sv_vote_kick_hack_min_population 0.60 |
|||
|
|||
// What ratio of the votes needs to be yes to pass? (1 = All votes need to be yes) |
|||
// min. 0 max. 1 |
|||
sv_vote_kick_hack_min_ratio 0.66 |
|||
|
|||
// How long should a kick vote ban someone from the server? (in minutes) |
|||
sv_vote_kick_ban_duration_idle 0 |
|||
|
|||
// The voting population required to kick a person for being idle |
|||
// min. 0.1 max. 1 |
|||
sv_vote_kick_idle_min_population 0.20 |
|||
|
|||
// What ratio of the votes needs to be yes to pass? (1 = All votes need to be yes) |
|||
// min. 0 max. 1 |
|||
sv_vote_kick_idle_min_ratio 0.5 |
|||
|
|||
// How long should a kick ban last for if a player is kicked for team killing? (minutes) |
|||
sv_vote_kick_ban_duration_teamkilling 10 |
|||
|
|||
// The voting population required to kick a person for team killing |
|||
// min. 0.1 max. 1 |
|||
sv_vote_kick_tk_min_population 0.25 |
|||
|
|||
// What ratio of the votes needs to be yes to pass? (1 = All votes need to be yes) |
|||
// min. 0 max. 1 |
|||
sv_vote_kick_tk_min_ratio 0.66 |
|||
|
|||
// How long should a kick ban last for if a player is kicked for trolling? (minutes) |
|||
sv_vote_kick_ban_duration_trolling 60 |
|||
|
|||
// The voting population required to kick a person for trolling |
|||
// min. 0.1 max. 1 |
|||
sv_vote_kick_troll_min_population 0.40 |
|||
|
|||
// What ratio of the votes needs to be yes to pass? (1 = All votes need to be yes) |
|||
// min. 0 max. 1 |
|||
sv_vote_kick_troll_min_ration 0.66 |
|||
|
|||
// The minimum number of players needed on the server to start a vote kick |
|||
sv_vote_kick_min_players 4 |
|||
|
|||
// Minimum number of vote attempts required to start an actual vote |
|||
sv_vote_kick_min_voters 3 |
|||
|
|||
// The voting population required |
|||
// min. 0 max. 1 |
|||
sv_vote_min_population 0.55 |
|||
|
|||
// What ratio of the votes needs to be yes to pass? (1 = All votes need to be yes) |
|||
// min. 0 max. 1 |
|||
sv_vote_min_ratio 0.55 |
|||
|
|||
// ............................. Fast Download .............................. // |
|||
// info: Allows custom maps to be downloaded to the client. |
|||
|
|||
// Allows clients to download custom maps and textures etc. from the server at 20 kbps. |
|||
// Default: sv_allowdownload 1 |
|||
sv_allowdownload 1 |
|||
|
|||
// Allows clients to download custom maps, textures etc. from a web server with no transfer limit. |
|||
// Example: |
|||
// server location: maps/custommap.bsp |
|||
// web server location: http://example.com/custom/maps/custommap.bsp |
|||
// sv_downloadurl "http://example.com/custom" |
|||
// Default: sv_downloadurl "" |
|||
sv_downloadurl "" |
|||
|
|||
// ................................ Ban List ............................... // |
|||
|
|||
// sv_nwi_banlist is the official banlist. |
|||
sv_nwi_banlist 1 |
|||
|
|||
// personal banlist based on user IDs. |
|||
exec banned_user.cfg |
|||
|
|||
// personal banlist based on user IPs. |
|||
exec banned_ip.cfg |
|||
|
|||
writeid |
|||
writeip |
|||
|
|||
// ............................. Server Logging ............................. // |
|||
|
|||
//Enables logging to file, console, and udp < on | off >. |
|||
log on |
|||
|
|||
// Log server bans in the server logs. |
|||
// Default: sv_logbans 1 |
|||
sv_logbans 1 |
|||
|
|||
// Echo log information to the console. |
|||
// Default: sv_logecho 1 |
|||
sv_logecho 1 |
|||
|
|||
// Log server information in the log file. |
|||
// Default: sv_logfile 1 |
|||
sv_logfile 1 |
|||
|
|||
// Log server information to only one file. |
|||
// Default: sv_log_onefile 0 |
|||
sv_log_onefile 0 |
@ -1,206 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Insurgency | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="ministry" |
|||
maxplayers="16" |
|||
tickrate="64" |
|||
port="27015" |
|||
sourcetvport="27020" |
|||
clientport="27005" |
|||
ip="0.0.0.0" |
|||
workshop="0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server |
|||
fn_parms(){ |
|||
parms="-game insurgency -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} -tickrate ${tickrate} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers} +sv_workshop_enabled ${workshop} -norestart" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="237410" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Insurgency" |
|||
engine="source" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="ins-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/insurgency" |
|||
executabledir="${filesdir}" |
|||
executable="./srcds_run" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}/cfg" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%d-%m-%Y-%H-%M-%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%d-%m-%Y-%H-%M-%S').log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,194 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Just Cause 2 | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
# No settings available for Just Cause 2 |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care |
|||
fn_parms(){ |
|||
parms="" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="261140" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Just Cause 2" |
|||
engine="avalanche" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="jc2-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}" |
|||
executabledir="${filesdir}" |
|||
executable="./Jcmp-Server" |
|||
servercfg="config.lua" |
|||
servercfgdefault="config.lua" |
|||
servercfgdir="${filesdir}" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
#gamelogdir="" # No server logs available |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,206 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Killing Floor | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## SteamCMD Login | https://github.com/GameServerManagers/LinuxGSM/wiki/SteamCMD#steamcmd-login |
|||
steamuser="username" |
|||
steampass="password" |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="KF-BioticsLab.rom" |
|||
ip="0.0.0.0" |
|||
|
|||
fn_parms(){ |
|||
parms="server ${defaultmap}?game=KFmod.KFGameType?VACSecured=true -nohomedir ini=${servercfg} log=${gamelog}" |
|||
|
|||
# Start Variables for Objective mode |
|||
#defaultmap="KFO-Steamland" |
|||
#parms="server ${defaultmap}?Game=KFStoryGame.KFStoryGame?VACSecured=true -nohomedir ini=${servercfg} log=${gamelog}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="215360" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Killing Floor" |
|||
engine="unreal2" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="kf-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/System" |
|||
executabledir="${systemdir}" |
|||
executable="./ucc-bin" |
|||
servercfg="${servicename}.ini" |
|||
servercfgdefault="Default.ini" |
|||
servercfgdir="${systemdir}" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
compressedmapsdir="${rootdir}/Maps-Compressed" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${rootdir}/log/server" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
gamelog="${gamelogdir}/${servicename}-game.log" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
gamelogdate="${gamelogdir}/${servicename}-game-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,200 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Left 4 Dead | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="l4d_hospital01_apartment" |
|||
maxplayers="8" |
|||
port="27015" |
|||
clientport="27005" |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server |
|||
fn_parms(){ |
|||
parms="-game left4dead -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} -maxplayers ${maxplayers}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="222840" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Left 4 Dead" |
|||
engine="source" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="l4d-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/left4dead" |
|||
executabledir="${filesdir}" |
|||
executable="./srcds_run" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}/cfg" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,200 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Left 4 Dead 2 | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="c5m1_waterfront" |
|||
maxplayers="8" |
|||
port="27015" |
|||
clientport="27005" |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server |
|||
fn_parms(){ |
|||
parms="-game left4dead2 -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="222860" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Left 4 Dead 2" |
|||
engine="source" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="l4d2-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/left4dead2" |
|||
executabledir="${filesdir}" |
|||
executable="./srcds_run" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}/cfg" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,186 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Minecraft | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
javaram="1024" # -Xmx$1024M |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care |
|||
fn_parms(){ |
|||
parms="nogui" |
|||
} |
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Minecraft" |
|||
engine="lwjgl2" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="mc-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}" |
|||
executabledir="${filesdir}" |
|||
executable="java -Xmx${javaram}M -jar minecraft_server.jar" |
|||
servercfg="server.properties" |
|||
servercfgdefault="server.properties" |
|||
servercfgdir="${filesdir}" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
servercfgdefault="${servercfgdir}/lgsm-default.ini" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,185 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Mumble | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
# Use .ini config file for Mumble (Murmur) server. |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care |
|||
fn_parms(){ |
|||
parms="-fg -ini ${servercfgfullpath}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Mumble" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="mumble-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}" |
|||
executabledir="${filesdir}" |
|||
executable="./murmur.x86" |
|||
servercfg="${servicename}.ini" |
|||
servercfgdefault="murmur.ini" |
|||
servercfgdir="${filesdir}" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${rootdir}/log" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,211 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: NS2: Combat | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## SteamCMD Login | https://github.com/GameServerManagers/LinuxGSM/wiki/SteamCMD#steamcmd-login |
|||
steamuser="username" |
|||
steampass="password" |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="co_core" |
|||
port="27015" |
|||
maxplayers="24" |
|||
ip="0.0.0.0" |
|||
servername="NS2C Server" |
|||
webadminuser="admin" |
|||
webadminpass="admin" |
|||
webadminport="8080" |
|||
mods="" |
|||
password="" |
|||
# Add the following line to the parms if you want a private server. Ensuring |
|||
# that the password variable above is not left empty. |
|||
# -password \"${password}\" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | http://wiki.unknownworlds.com/ns2/Dedicated_Server |
|||
fn_parms(){ |
|||
parms="-name \"${servername}\" -port ${port} -webadmin -webdomain ${ip} -webuser ${webadminuser} -webpassword \"${webadminpass}\" -webport ${webadminport} -map ${defaultmap} -limit ${maxplayers} -config_path \"${servercfgdir}\" -modstorage \"${modstoragedir}\" -mods \"${mods}\"" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="313900" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="NS2: Combat" |
|||
engine="spark" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="ns2c-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}" |
|||
executabledir="${filesdir}/ia32" |
|||
executable="./ns2combatserver_linux32" |
|||
servercfgdir="${rootdir}/server1" |
|||
servercfgfullpath="${servercfgdir}" |
|||
modstoragedir="${servercfgdir}/Workshop" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,211 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Natural Selection 2 | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## SteamCMD Login | https://github.com/GameServerManagers/LinuxGSM/wiki/SteamCMD#steamcmd-login |
|||
steamuser="username" |
|||
steampass="password" |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="ns2_summit" |
|||
port="27015" |
|||
maxplayers="24" |
|||
ip="0.0.0.0" |
|||
servername="NS2 Server" |
|||
webadminuser="admin" |
|||
webadminpass="admin" |
|||
webadminport="8080" |
|||
mods="" |
|||
password="" |
|||
# Add the following line to the parms if you want a private server. Ensuring |
|||
# that the password variable above is not left empty. |
|||
# -password \"${password}\" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | http://wiki.unknownworlds.com/ns2/Dedicated_Server |
|||
fn_parms(){ |
|||
parms="-name \"${servername}\" -port ${port} -webadmin -webdomain ${ip} -webuser ${webadminuser} -webpassword \"${webadminpass}\" -webport ${webadminport} -map ${defaultmap} -limit ${maxplayers} -config_path \"${servercfgdir}\" -logdir \"${gamelogdir}\" -modstorage \"${modstoragedir}\" -mods \"${mods}\"" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="4940" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Natural Selection 2" |
|||
engine="spark" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="ns2-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}" |
|||
executabledir="${filesdir}" |
|||
executable="./server_linux32" |
|||
servercfgdir="${rootdir}/server1" |
|||
servercfgfullpath="${servercfgdir}" |
|||
modstoragedir="${servercfgdir}/Workshop" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,206 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: No More Room in Hell | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="nmo_broadway" |
|||
maxplayers="8" |
|||
port="27015" |
|||
sourcetvport="27020" |
|||
clientport="27005" |
|||
ip="0.0.0.0" |
|||
|
|||
## Optional: Game Server Login Token |
|||
# GSLT can be used for running a public server. |
|||
# More info: https://gameservermanagers.com/gslt |
|||
gslt="" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server |
|||
fn_parms(){ |
|||
parms="-game nmrih -insecure -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +map ${defaultmap} +sv_setsteamaccount ${gslt} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="317670" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="No More Room in Hell" |
|||
engine="source" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="nmrih-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/nmrih" |
|||
executabledir="${filesdir}" |
|||
executable="./srcds_run" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}/cfg" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,201 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Half-Life: Opposing Force | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="op4_bootcamp" |
|||
maxplayers="16" |
|||
port="27015" |
|||
clientport="27005" |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Command_Line_Options#Command-line_parameters_2 |
|||
fn_parms(){ |
|||
parms="-game gearbox -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} -maxplayers ${maxplayers}" |
|||
} |
|||
|
|||
### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="90" |
|||
appidmod="gearbox" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Half-Life: Opposing Force" |
|||
engine="goldsource" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="opfor-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/gearbox" |
|||
executabledir="${filesdir}" |
|||
executable="./hlds_run" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,201 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: No More Room in Hell | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="bt_island" |
|||
maxplayers="24" |
|||
port="27015" |
|||
sourcetvport="27020" |
|||
clientport="27005" |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server |
|||
fn_parms(){ |
|||
parms="-game pvkii -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="17575" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Pirates, Vikings, and Knights II" |
|||
engine="source" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="pvkii-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/pvkii" |
|||
executabledir="${filesdir}" |
|||
executable="./srcds_run" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}/cfg" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,195 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Project Zomboid | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
adminpassword="CHANGE_ME" |
|||
ip="0.0.0.0" |
|||
|
|||
fn_parms(){ |
|||
parms="-ip ${ip} -adminpassword \"${adminpassword}\" -servername ${servicename}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="380870" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Project Zomboid" |
|||
engine="projectzomboid" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="pz-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}" |
|||
executabledir="${filesdir}" |
|||
executable="./start-server.sh" |
|||
servercfg="${servicename}.ini" |
|||
servercfgdefault="server.ini" |
|||
servercfgdir="${HOME}/Zomboid/Server" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${HOME}/Zomboid/Logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,185 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Quake 2 | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="q2dm1" |
|||
ip="0.0.0.0" |
|||
port="27910" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
fn_parms(){ |
|||
parms="+set dedicated 1 +set ip ${ip} +set port ${port} +exec ${servercfg} +set deathmatch 1 +map ${defaultmap}" |
|||
} |
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Quake 2" |
|||
engine="idtech2" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="quake2server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/baseq2" |
|||
executabledir="${filesdir}" |
|||
executable="./quake2" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${filesdir}/Logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,186 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Quake 3: Arena | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="q3dm17" |
|||
ip="0.0.0.0" |
|||
port="27960" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
fn_parms(){ |
|||
parms="+set sv_punkbuster 0 +set fs_basepath ${filesdir} +set dedicated 1 +set com_hunkMegs 32 +set net_ip ${ip} +set net_port ${port} +exec ${servercfg} +map ${defaultmap}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Quake 3: Arena" |
|||
engine="idtech3" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="quake3-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/baseq3" |
|||
executabledir="${filesdir}" |
|||
executable="./q3ded" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${filesdir}/Logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,205 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Quake Live | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
arch="x64" # x64 or x86 |
|||
port="27960" |
|||
rconport="28960" |
|||
rconpassword="CHANGE_ME" |
|||
statsport="${port}" |
|||
statspassword="CHANGE_ME" |
|||
mappool='mappool.txt' |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | Install/Config Guide : https://steamcommunity.com/sharedfiles/filedetails/?id=542966946 |
|||
# Console Commands : http://www.regurge.at/ql/ |
|||
fn_parms(){ |
|||
parms="+set net_strict 1 +set net_ip ${ip} +set net_port ${port} +set fs_homepath ${filesdir}/${port} +set zmq_rcon_enable 1 +set zmq_rcon_port ${rconport} +set zmq_rcon_password ${rconpassword} +set zmq_stats_enable 1 +set zmq_stats_password ${statspassword} +set zmq_stats_port ${statsport} +set sv_mapPoolFile ${mappool} +exec ${servercfg}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="349090" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Quake Live" |
|||
engine="idtech3_ql" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="ql-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}" |
|||
executabledir="${filesdir}" |
|||
executable=$([ "${arch}" == 'x64' ] && echo "./run_server_x64.sh" || echo "./run_server_x86.sh") |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${filesdir}/baseq3" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${rootdir}/log/server" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
gamelog="${gamelogdir}/${servicename}-game.log" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,26 +0,0 @@ |
|||
// server info |
|||
hostname "<hostname>" // server name shown in server browsers |
|||
rcon_password "<rconpassword>" |
|||
sv_admininfo "lgsm <[email protected]>" // admin name shown in server browsers |
|||
|
|||
// motd (max 15 rows) - this is the welcome message displayed when you connect to a server |
|||
set k_motd1 "<hostname>" |
|||
set k_motd2 " " |
|||
set k_motd3 "Available game modes:" |
|||
set k_motd4 "1on1, 2on2, 4on4, 10on10, ffa, ctf" |
|||
//set k_motd5 "line 5" // etc.. |
|||
|
|||
set k_motd_time "5" // time motd is displayed in seconds |
|||
|
|||
|
|||
// edit the lines below if you want different gamemodes on this port |
|||
// matchless mode |
|||
set k_matchless 0 // run ktx as a regular match server or as a matchless (ffa) server (0 = regular, 1 = matchless) |
|||
set k_use_matchless_dir 1 // use configs/usermodes/matchless instead of [...]/ffa (0 = no, 1 = yes) |
|||
|
|||
// free modes |
|||
set k_defmode 2on2 // default mode on server |
|||
set k_allowed_free_modes 255 // allowed free modes (bit mask): |
|||
// 1=1on1, 2=2on2, 4=3on3, 8=4on4, 16=10on10, 32=ffa 64=ctf 128=hoonymode |
|||
set k_defmap dm4 // server homemap. server will change to this when last player leaves the server |
|||
set k_mode 2 // server mode (1 = duel, 2 = team, 3 = ffa, 4 = ctf) |
@ -1,145 +0,0 @@ |
|||
#!/bin/bash |
|||
# Quake World (nQuake) |
|||
# Server Management Script |
|||
# Author: Daniel Gibbs |
|||
# Website: https://gameservermanagers.com |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="210516" |
|||
|
|||
#### Variables #### |
|||
|
|||
# Notification Alerts |
|||
# (on|off) |
|||
|
|||
# Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
|
|||
# Pushbullet |
|||
# https://www.pushbullet.com/#settings |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
# Start Variables |
|||
ip="0.0.0.0" |
|||
port="27500" |
|||
|
|||
fn_parms(){ |
|||
parms="-port ${port} -game ktx +exec ${servercfg}" |
|||
} |
|||
|
|||
#### Advanced Variables #### |
|||
|
|||
# Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
# Server Details |
|||
servicename="quakeworld_server" |
|||
gamename="QuakeWorld" |
|||
engine="quake" |
|||
|
|||
# Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
systemdir="${filesdir}/ktx" |
|||
executabledir="${filesdir}" |
|||
executable="./mvdsv" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
# Logging |
|||
logdays="7" |
|||
gamelogdir="${filesdir}/Logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
consolelogging="on" |
|||
|
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%d-%m-%Y-%H-%M-%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%d-%m-%Y-%H-%M-%S').log" |
|||
|
|||
##### Script ##### |
|||
# Do not edit |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
|
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,208 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Red Orchestra: Ostfront 41-45 | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## SteamCMD Login | https://github.com/GameServerManagers/LinuxGSM/wiki/SteamCMD#steamcmd-login |
|||
steamuser="username" |
|||
steampass="password" |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="RO-Arad.rom" |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care |
|||
fn_parms(){ |
|||
parms="server ${defaultmap}?game=ROGame.ROTeamGame?VACSecured=true -nohomedir ini=${servercfg} log=${gamelog}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="223250" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Red Orchestra: Ostfront 41-45" |
|||
engine="unreal2" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="ro-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
|
|||
## Server Specific Directories |
|||
filesdir="${rootdir}/serverfiles" |
|||
systemdir="${filesdir}/system" |
|||
executabledir="${systemdir}" |
|||
executable="./ucc-bin" |
|||
servercfg="${servicename}.ini" |
|||
servercfgdefault="default.ini" |
|||
servercfgdir="${systemdir}" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
compressedmapsdir="${rootdir}/Maps-Compressed" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${rootdir}/log/server" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
gamelog="${gamelogdir}/${servicename}-game.log" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
|
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%d-%m-%Y-%H-%M-%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%d-%m-%Y-%H-%M-%S').log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
gamelogdate="${gamelogdir}/${servicename}-game-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,225 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Ricochet | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
# Start Variables |
|||
defaultmap="rc_arena" |
|||
maxplayers="16" |
|||
port="27015" |
|||
clientport="27005" |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Command_Line_Options#Command-line_parameters_2 |
|||
fn_parms(){ |
|||
parms="-game ricochet -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} -maxplayers ${maxplayers}" |
|||
} |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## SteamCMD Login | https://github.com/GameServerManagers/LinuxGSM/wiki/SteamCMD#steamcmd-login |
|||
steamuser="username" |
|||
steampass="password" |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
ip="0.0.0.0" |
|||
|
|||
## Optional: Game Server Login Token |
|||
# GSLT can be used for running a public server. |
|||
# More info: https://gameservermanagers.com/gslt |
|||
gslt="" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server |
|||
fn_parms(){ |
|||
parms="" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="90" |
|||
appidmod="ricochet" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Ricochet" |
|||
engine="goldsource" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="ricochet-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/ricochet" |
|||
executabledir="${filesdir}" |
|||
executable="./hlds_run" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,219 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Rust | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
# More settings available after install in serverfiles/server/rust-server/server.cfg |
|||
servername="Rust" |
|||
ip="0.0.0.0" |
|||
port="28015" |
|||
rconport="28016" |
|||
rconpassword="CHANGE_ME" |
|||
maxplayers="50" |
|||
# Advanced Start Settings |
|||
seed="" # default random; range : 1 to 2147483647 ; used to change or reproduce a procedural map |
|||
worldsize="3000" # default 3000; range : 1000 to 6000 ; map size in meters |
|||
saveinterval="300" # Auto-save in seconds |
|||
tickrate="30" # default 30; range : 15 to 100 |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Rust_Dedicated_Server |
|||
fn_parms(){ |
|||
parms="-batchmode +server.ip ${ip} +server.port ${port} +server.tickrate ${tickrate} +server.hostname \"${servername}\" +server.identity \"${servicename}\" ${conditionalseed} +server.maxplayers ${maxplayers} +server.worldsize ${worldsize} +server.saveinterval ${saveinterval} +rcon.ip ${ip} +rcon.port ${rconport} +rcon.password \"${rconpassword}\" -logfile ${gamelogfile}" |
|||
} |
|||
|
|||
# Specific to Rust |
|||
if [ -n "${seed}" ]; then |
|||
# If set, then add to start parms |
|||
conditionalseed="+server.seed ${seed}" |
|||
else |
|||
# Keep randomness of the number if not set |
|||
conditionalseed="" |
|||
fi |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="258550" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Rust" |
|||
engine="unity3d" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="rust-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname=$(basename $(readlink -f "${BASH_SOURCE[0]}")) |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}" |
|||
executabledir="${filesdir}" |
|||
executable="./RustDedicated" |
|||
serveridentitydir="${systemdir}/server/${servicename}" |
|||
servercfg="server.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${serveridentitydir}/cfg" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${rootdir}/log/server" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
gamelog="${gamelogdir}/${servicename}-game.log" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
gamelogfile="\"gamelog-$(date '+%Y-%m-%d-%H-%M-%S').log\"" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,198 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Sam 3: BFE | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://raw.githubusercontent.com/GameServerManagers/Game-Server-Configs/master/SeriousSam3BFE/help/DedicatedServer_Readme.txt |
|||
fn_parms(){ |
|||
parms="+ip ${ip} +logfile ${gamelog} +exec ${servercfgfullpath}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="41080" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Serious Sam 3: BFE" |
|||
engine="seriousengine35" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="ss3-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/Bin" |
|||
executable="./runSam3_DedicatedServer.sh" |
|||
executabledir="${systemdir}" |
|||
servercfg="${servicename}.ini" |
|||
servercfgdefault="server.ini" |
|||
servercfgdir="${filesdir}/Content/SeriousSam3/Config" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${rootdir}/log/server" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
gamelog="${gamelogdir}/${servicename}-game.log" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
gamelogdate="${gamelogdir}/${servicename}-game-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,200 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Starbound | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## SteamCMD Login | https://github.com/GameServerManagers/LinuxGSM/wiki/SteamCMD#steamcmd-login |
|||
steamuser="username" |
|||
steampass="password" |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care |
|||
fn_parms(){ |
|||
parms="" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="211820" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Starbound" |
|||
engine="starbound" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="sb-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}" |
|||
executabledir="${filesdir}/linux" |
|||
executable="./starbound_server" |
|||
servercfg="starbound_server.config" |
|||
servercfgdefault="starbound_server.config" |
|||
servercfgdir="${filesdir}/storage" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${filesdir}/storage" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,200 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Sven Co-op | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="svencoop1" |
|||
maxplayers="16" |
|||
port="27015" |
|||
clientport="27005" |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Command_Line_Options#Command-line_parameters_2 |
|||
fn_parms(){ |
|||
parms="-game svencoop -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} -maxplayers ${maxplayers}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="276060" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Sven Co-op" |
|||
engine="goldsource" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="svencoop-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/svencoop" |
|||
executabledir="${filesdir}" |
|||
executable="./svends_run" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,204 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Team Fortress 2 | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="cp_badlands" |
|||
maxplayers="16" |
|||
port="27015" |
|||
sourcetvport="27020" |
|||
clientport="27005" |
|||
ip="0.0.0.0" |
|||
|
|||
## Optional: Game Server Login Token |
|||
# GSLT can be used for running a public server. |
|||
# More info: https://gameservermanagers.com/gslt |
|||
gslt="" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server |
|||
fn_parms(){ |
|||
parms="-game tf -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +map ${defaultmap} +sv_setsteamaccount ${gslt} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" |
|||
} |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="232250" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Team Fortress 2" |
|||
engine="source" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="tf2-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/tf" |
|||
executabledir="${filesdir}" |
|||
executable="./srcds_run" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}/cfg" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,201 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Team Fortress Classic | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="dustbowl" |
|||
maxplayers="16" |
|||
port="27015" |
|||
clientport="27005" |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | https://developer.valvesoftware.com/wiki/Command_Line_Options#Command-line_parameters_2 |
|||
fn_parms(){ |
|||
parms="-game tfc -strictportbind _ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} -maxplayers ${maxplayers}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="90" |
|||
appidmod="tfc" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Team Fortress Classic" |
|||
engine="goldsource" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="tfc-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/tfc" |
|||
executabledir="${filesdir}" |
|||
executable="./hlds_run" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${systemdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,177 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: TeamSpeak 3 | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
# Edit serverfiles/ts3-server.ini after installation |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="TeamSpeak 3" |
|||
servername="TeamSpeak 3 Server" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="ts3-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}" |
|||
executabledir="${filesdir}" |
|||
executable="./ts3server_startscript.sh" |
|||
servercfg="${servicename}.ini" |
|||
servercfgdefault="ts3server.ini" |
|||
servercfgdir="${filesdir}" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${filesdir}/logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,201 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Teeworlds | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## SteamCMD Login | https://github.com/GameServerManagers/LinuxGSM/wiki/SteamCMD#steamcmd-login |
|||
steamuser="username" |
|||
steampass="password" |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care |
|||
fn_parms(){ |
|||
parms="-f ${servercfgfullpath}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="380840" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Teeworlds" |
|||
engine="teeworlds" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="tw-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}" |
|||
executabledir="${filesdir}" |
|||
executable="./teeworlds_srv" |
|||
servercfg="${servicename}.cfg" # Teeworlds can also auto load any config if an autoexec.cfg file is present in the server dir |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${filesdir}" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${rootdir}/log/server" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
gamelog="${gamelogdir}/${servicename}-game.log" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,200 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Terraria | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## SteamCMD Login | https://github.com/GameServerManagers/LinuxGSM/wiki/SteamCMD#steamcmd-login |
|||
steamuser="username" |
|||
steampass="password" |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care |
|||
fn_parms(){ |
|||
parms="-config ${servercfgfullpath}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## SteamCMD Settings |
|||
# Server appid |
|||
appid="105600" |
|||
# Steam App Branch Select |
|||
# Allows to opt into the various Steam app branches. Default branch is "". |
|||
# Example: "-beta latest_experimental" |
|||
branch="" |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Terraria" |
|||
engine="terraria" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="terraria-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}" |
|||
executabledir="${filesdir}" |
|||
executable="./TerrariaServer" |
|||
servercfg="${servicename}.txt" |
|||
servercfgdefault="serverconfig.txt" |
|||
servercfgdir="${filesdir}" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
#gamelogdir="" # Terraria Doesn't Have a Server Log |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,189 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Unreal Tournament | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
# For CTF: defaultmap="CTF-Face" gametype="CTF" |
|||
defaultmap="DM-Underland" |
|||
gametype="DM" |
|||
timelimit="10" |
|||
ip="0.0.0.0" |
|||
port="7777" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care |
|||
fn_parms(){ |
|||
parms="UnrealTournament ${defaultmap}?Game=${gametype}?TimeLimit=${timelimit} -port=${port}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Unreal Tournament" |
|||
engine="unreal4" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="ut-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/LinuxServer" |
|||
executabledir="${systemdir}/Engine/Binaries/Linux" |
|||
executable="./UE4Server-Linux-Shipping" |
|||
servercfg="Game.ini" |
|||
servercfgdir="${systemdir}/UnrealTournament/Saved/Config/LinuxServer" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${filesdir}/Logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,189 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Unreal Tournament 2004 | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="DM-Rankin" |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | |
|||
fn_parms(){ |
|||
parms="server ${defaultmap}?game=XGame.xDeathMatch -nohomedir ini=${servercfg} log=${gamelog}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Unreal Tournament 2004" |
|||
engine="unreal2" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="ut2k4-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/System" |
|||
executabledir="${systemdir}" |
|||
executable="./ucc-bin" |
|||
servercfg="${servicename}.ini" |
|||
servercfgdefault="UT2004.ini" |
|||
servercfgdir="${systemdir}" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
compressedmapsdir="${rootdir}/Maps-Compressed" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${rootdir}/log/server" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
gamelog="${gamelogdir}/${servicename}-game.log" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
gamelogdate="${gamelogdir}/${servicename}-game-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,199 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Unreal Tournament 3 | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
ip="0.0.0.0" |
|||
port="7777" |
|||
queryport="25300" |
|||
defaultmap="VCTF-Suspense" |
|||
game="UTGameContent.UTVehicleCTFGame_Content" |
|||
mutators="" #"UTGame.UTMutator_Instagib,UTGame.UTMutator_LowGrav" |
|||
isdedicated="true" |
|||
islanmatch="false" |
|||
usesstats="false" |
|||
shouldadvertise="true" |
|||
pureserver="1" |
|||
allowjoininprogress="true" |
|||
maxplayers="32" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care | List of game types and mutators : http://wiki.unrealadmin.org/FAQ:UT3 |
|||
fn_parms(){ |
|||
parms="server ${defaultmap}?Game=${game}?bIsDedicated=${isdedicated}?bIsLanMatch=${islanmatch}?bUsesStats=${usesstats}?bShouldAdvertise=${shouldadvertise}?PureServer=${pureserver}?bAllowJoinInProgress=${allowjoininprogress}?MaxPlayers=${maxplayers}?Mutator=${mutators} -port=${port} -queryport=${queryport} -multihome=${ip} -nohomedir -unattended -log=${gamelog}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Unreal Tournament 3" |
|||
engine="unreal3" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="ut3-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}" |
|||
executabledir="${systemdir}/Binaries" |
|||
executable="./ut3" |
|||
servercfg="${servicename}.ini" |
|||
servercfgdefault="UTGame.ini" |
|||
servercfgdir="${systemdir}/UTGame/Config" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${rootdir}/log/server" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
gamelog="${gamelogdir}/${servicename}-game.log" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
gamelogdate="${gamelogdir}/${servicename}-game-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,187 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Unreal Tournament 99 | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
defaultmap="DM-Deck16][" |
|||
ip="0.0.0.0" |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care |
|||
fn_parms(){ |
|||
parms="server ${defaultmap}.unr ini=${servercfgfullpath}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Unreal Tournament 99" |
|||
engine="unreal" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="ut99-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}/System" |
|||
executabledir="${systemdir}" |
|||
executable="./ucc-bin" |
|||
servercfg="${servicename}.ini" |
|||
servercfgdefault="Default.ini" |
|||
servercfgdir="${systemdir}" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
compressedmapsdir="${rootdir}/Maps-Compressed" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${filesdir}/Logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
@ -1,188 +0,0 @@ |
|||
#!/bin/bash |
|||
# Project: Game Server Managers - LinuxGSM |
|||
# Author: Daniel Gibbs |
|||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|||
# Purpose: Enemy Territory | Server Management Script |
|||
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|||
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|||
# Website: https://gameservermanagers.com |
|||
|
|||
# Debugging |
|||
if [ -f ".dev-debug" ]; then |
|||
exec 5>dev-debug.log |
|||
BASH_XTRACEFD="5" |
|||
set -x |
|||
fi |
|||
|
|||
version="161125" |
|||
|
|||
########################## |
|||
######## Settings ######## |
|||
########################## |
|||
|
|||
#### Server Settings #### |
|||
|
|||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|||
# Please use Enemy Territory config file. |
|||
|
|||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|||
# Edit with care |
|||
fn_parms(){ |
|||
parms="+set net_strict 1 +set fs_homepath ${filesdir} +exec ${servercfg}" |
|||
} |
|||
|
|||
#### LinuxGSM Settings #### |
|||
|
|||
## Notification Alerts |
|||
# (on|off) |
|||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|||
emailalert="off" |
|||
email="[email protected]" |
|||
emailfrom="" |
|||
|
|||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|||
pushbulletalert="off" |
|||
pushbullettoken="accesstoken" |
|||
channeltag="" |
|||
|
|||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|||
updateonstart="off" |
|||
|
|||
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|||
maxbackups="4" |
|||
maxbackupdays="30" |
|||
stoponbackup="on" |
|||
|
|||
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|||
consolelogging="on" |
|||
logdays="7" |
|||
|
|||
#### LinuxGSM Advanced Settings #### |
|||
|
|||
## Github Branch Select |
|||
# Allows for the use of different function files |
|||
# from a different repo and/or branch. |
|||
githubuser="GameServerManagers" |
|||
githubrepo="LinuxGSM" |
|||
githubbranch="master" |
|||
|
|||
## LinuxGSM Server Details |
|||
# Do not edit |
|||
gamename="Wolfenstein: Enemy Territory" |
|||
engine="idtech3" |
|||
|
|||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|||
servicename="et-server" |
|||
|
|||
#### Directories #### |
|||
# Edit with care |
|||
|
|||
## Work Directories |
|||
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|||
lockselfname=".${servicename}.lock" |
|||
lgsmdir="${rootdir}/lgsm" |
|||
functionsdir="${lgsmdir}/functions" |
|||
libdir="${lgsmdir}/lib" |
|||
tmpdir="${lgsmdir}/tmp" |
|||
filesdir="${rootdir}/serverfiles" |
|||
|
|||
## Server Specific Directories |
|||
systemdir="${filesdir}" |
|||
executabledir="${systemdir}" |
|||
executable="./etded" |
|||
servercfg="${servicename}.cfg" |
|||
servercfgdefault="server.cfg" |
|||
servercfgdir="${systemdir}/etmain" |
|||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|||
|
|||
## Backup Directory |
|||
backupdir="${rootdir}/backups" |
|||
|
|||
## Logging Directories |
|||
gamelogdir="${filesdir}/Logs" |
|||
scriptlogdir="${rootdir}/log/script" |
|||
consolelogdir="${rootdir}/log/console" |
|||
scriptlog="${scriptlogdir}/${servicename}-script.log" |
|||
consolelog="${consolelogdir}/${servicename}-console.log" |
|||
emaillog="${scriptlogdir}/${servicename}-email.log" |
|||
|
|||
## Logs Naming |
|||
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" |
|||
|
|||
######################## |
|||
######## Script ######## |
|||
###### Do not edit ##### |
|||
######################## |
|||
|
|||
# Fetches core_dl for file downloads |
|||
fn_fetch_core_dl(){ |
|||
github_file_url_dir="lgsm/functions" |
|||
github_file_url_name="${functionfile}" |
|||
filedir="${functionsdir}" |
|||
filename="${github_file_url_name}" |
|||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" |
|||
# If the file is missing, then download |
|||
if [ ! -f "${filedir}/${filename}" ]; then |
|||
if [ ! -d "${filedir}" ]; then |
|||
mkdir -p "${filedir}" |
|||
fi |
|||
echo -e " fetching ${filename}...\c" |
|||
# Check curl exists and use available path |
|||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" |
|||
for curlcmd in ${curlpaths} |
|||
do |
|||
if [ -x "${curlcmd}" ]; then |
|||
break |
|||
fi |
|||
done |
|||
# If curl exists download file |
|||
if [ "$(basename ${curlcmd})" == "curl" ]; then |
|||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) |
|||
if [ $? -ne 0 ]; then |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "${curlfetch}" |
|||
echo -e "${githuburl}\n" |
|||
exit 1 |
|||
else |
|||
echo -e "\e[0;32mOK\e[0m" |
|||
fi |
|||
else |
|||
echo -e "\e[0;31mFAIL\e[0m\n" |
|||
echo "Curl is not installed!" |
|||
echo -e "" |
|||
exit 1 |
|||
fi |
|||
chmod +x "${filedir}/${filename}" |
|||
fi |
|||
source "${filedir}/${filename}" |
|||
} |
|||
|
|||
core_dl.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
core_functions.sh(){ |
|||
# Functions are defined in core_functions.sh. |
|||
functionfile="${FUNCNAME}" |
|||
fn_fetch_core_dl |
|||
} |
|||
|
|||
# Prevent from running this script as root. |
|||
if [ "$(whoami)" = "root" ]; then |
|||
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then |
|||
echo "[ FAIL ] Do NOT run this script as root!" |
|||
exit 1 |
|||
else |
|||
core_functions.sh |
|||
check_root.sh |
|||
fi |
|||
fi |
|||
|
|||
core_dl.sh |
|||
core_functions.sh |
|||
getopt=$1 |
|||
core_getopt.sh |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.9 KiB |
@ -1,3 +0,0 @@ |
|||
# LGSM - Official Logos |
|||
For Reference the original design can be found here. |
|||
http://twolofbees.com/artwork.php?iid=870 |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 1.1 KiB |