Browse Source

Merge pull request #478 from SingingTree/terraria

Added Terraria. Thanks SingingTree
pull/489/head
Daniel Gibbs 10 years ago
parent
commit
a3d957c279
  1. 11
      .travis.yml
  2. 68
      Terraria/cfg/terraria-server.txt
  3. 92
      Terraria/terrariaserver
  4. 44
      functions/fn_details

11
.travis.yml

@ -132,6 +132,15 @@ script:
- bash StarBound/sbserver email-test
- bash StarBound/sbserver details
- bash Terraria/terrariaserver auto-install
- bash Terraria/terrariaserver start
- bash Terraria/terrariaserver stop
- bash Terraria/terrariaserver restart
- bash Terraria/terrariaserver validate
- bash Terraria/terrariaserver monitor
- bash Terraria/terrariaserver email-test
- bash Terraria/terrariaserver details
- bash UnrealTournament2004/ut2k4server start
- bash UnrealTournament2004/ut2k4server stop
- bash UnrealTournament2004/ut2k4server restart
@ -152,4 +161,4 @@ script:
- bash TeamSpeak3/ts3server update
- bash TeamSpeak3/ts3server monitor
- bash TeamSpeak3/ts3server email-test
- bash TeamSpeak3/ts3server details
- bash TeamSpeak3/ts3server details

68
Terraria/cfg/terraria-server.txt

@ -0,0 +1,68 @@
#this is an example config file for TerrariaServer.exe
#use the command 'TerrariaServer.exe -config serverconfig.txt' to use this configuration or run start-server.bat
#please report crashes by emailing crashlog.txt to [email protected]
#the following is a list of available command line parameters:
#-config <config file> Specifies the configuration file to use.
#-port <port number> Specifies the port to listen on.
#-players <number> / -maxplayers <number> Sets the max number of players
#-pass <password> / -password <password> Sets the server password
#-world <world file> Load a world and automatically start the server.
#-autocreate <#> Creates a world if none is found in the path specified by -world. World size is specified by: 1(small), 2(medium), and 3(large).
#-banlist <path> Specifies the location of the banlist. Defaults to "banlist.txt" in the working directory.
#-worldname <world name> Sets the name of the world when using -autocreate.
#-secure Adds addition cheat protection to the server.
#-noupnp Disables automatic port forwarding
#-steam Enables Steam Support
#-lobby <friends> or <private> Allows friends to join the server or sets it to private if Steam is enabled
#-ip <ip address> Sets the IP address for the server to listen on
#-forcepriority <priority> Sets the process priority for this task. If this is used the "priority" setting below will be ignored.
#remove the # in front of commands to enable them.
#Load a world and automatically start the server.
#world=C:\Users\YOUR_USERNAME_HERE\My Documents\My Games\Terraria\Worlds\world1.wld
#Creates a new world if none is found. World size is specified by: 1(small), 2(medium), and 3(large).
#autocreate=1
#Sets the name of the world when using autocreate
#worldname=Terraria
#Sets the difficulty of the world when using autocreate 0(normal), 1(expert)
#difficulty=1
#Sets the max number of players allowed on a server. Value must be between 1 and 255
#maxplayers=8
#Set the port number
#port=7777
#Set the server password
#password=p@55w0rd
#Set the message of the day
#motd=Please don’t cut the purple trees!
#Sets the folder where world files will be stored
#worldpath=C:\Users\Defaults\My Documents\My Games\Terraria\Worlds\
#The location of the banlist. Defaults to "banlist.txt" in the working directory.
#banlist=banlist.txt
#Adds addition cheat protection.
#secure=1
#Sets the server language 1:English, 2:German, 3:Italian, 4:French, 5:Spanish
#lang=1
#Automatically forward ports with uPNP
#upnp=1
#Reduces enemy skipping but increases bandwidth usage. The lower the number the less skipping will happen, but more data is sent. 0 is off.
#npcstream=60
#Default system priority 0:Realtime, 1:High, 2:AboveNormal, 3:Normal, 4:BelowNormal, 5:Idle
priority=1

92
Terraria/terrariaserver

@ -0,0 +1,92 @@
#!/bin/bash
# Terraria
# Server Management Script
# Author: Daniel Gibbs
# Contributor: Bryce Van Dyk (SingingTree)
# Website: http://gameservermanagers.com
version="070915"
#### Variables ####
# Notification Email
# (on|off)
emailnotification="off"
email="[email protected]"
# Steam login
steamuser="username"
steampass="password"
# Start Variables
ip="0.0.0.0"
updateonstart="off"
fn_parms(){
parms="-config ${servercfgfullpath}"
}
#### Advanced Variables ####
# Steam
appid="105600"
# Server Details
servicename="terraria-server"
gamename="Terraria"
engine="terraria"
# Directories
rootdir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
selfname="$(basename $0)"
lockselfname=".${servicename}.lock"
filesdir="${rootdir}/serverfiles"
systemdir="${filesdir}"
executabledir="${filesdir}"
executable="./TerrariaServer"
servercfg="${servicename}.txt"
servercfgdir="${filesdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
backupdir="${rootdir}/backups"
# Logging
logdays="7"
#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"
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
fn_runfunction(){
# Functions are downloaded and run with this function
if [ ! -f "${rootdir}/functions/${functionfile}" ]; then
cd "${rootdir}"
if [ ! -d "functions" ]; then
mkdir functions
fi
cd functions
echo -e " loading ${functionfile}...\c"
wget -N /dev/null https://raw.githubusercontent.com/dgibbs64/linuxgsm/master/functions/${functionfile} 2>&1 | grep -F HTTP | cut -c45-
chmod +x "${functionfile}"
cd "${rootdir}"
fi
source "${rootdir}/functions/${functionfile}"
}
fn_functions(){
# Functions are defined in fn_functions.
functionfile="${FUNCNAME}"
fn_runfunction
}
fn_functions
getopt=$1
fn_getopt

44
functions/fn_details

@ -2,7 +2,7 @@
# LGSM fn_details function
# Author: Daniel Gibbs
# Website: http://gameservermanagers.com
# Version: 280715
# Version: 070915
# Description: Displays server infomation.
@ -19,7 +19,7 @@ printf '%*s\n' "${COLUMNS:-$(tput cols)}" '' | tr ' ' =
echo -e "\e[34mKernel:\t\e[0m${kernel}"
echo -e "\e[34mHostname:\t\e[0m$HOSTNAME"
echo -e "\e[34mtmux:\t\e[0m${tmuxv}"
echo -e "\e[34mGLIBC:\t\e[0m${glibcv}"
echo -e "\e[34mGLIBC:\t\e[0m${glibcv}"
} >> .fn_details_distro
column -s $'\t' -t .fn_details_distro
rm -f .fn_details_distro
@ -31,7 +31,7 @@ echo -e "\e[93mPerformance\e[0m"
printf '%*s\n' "${COLUMNS:-$(tput cols)}" '' | tr ' ' =
{
echo -e "\e[34mUptime:\t\e[0m${days}d, ${hours}h, ${minutes}m"
echo -e "\e[34mAvg Load:\t\e[0m${load}"
echo -e "\e[34mAvg Load:\t\e[0m${load}"
} >> .fn_details_performance
column -s $'\t' -t .fn_details_performance
rm -f .fn_details_performance
@ -39,7 +39,7 @@ echo -e ""
{
echo -e "\e[34mMem:\t\e[34mtotal\t used\t free\e[0m"
echo -e "\e[34mPhysical:\t\e[0m${physmemtotal}\t${physmemused}\t${physmemfree}\e[0m"
echo -e "\e[34mSwap:\t\e[0m${swaptotal}\t${swapused}\t${swapfree}\e[0m"
echo -e "\e[34mSwap:\t\e[0m${swaptotal}\t${swapused}\t${swapfree}\e[0m"
} >> .fn_details_performance
column -s $'\t' -t .fn_details_performance
rm -f .fn_details_performance
@ -497,6 +497,38 @@ fn_details_statusbottom
}
fn_details_terraria(){
fn_check_ip
fn_parms
fn_details_config
fn_details_distro
fn_details_os
fn_details_performance
fn_details_disk
fn_details_gameserver
fn_details_backup
fn_details_commandlineparms
echo -e ""
echo -e "\e[92mPorts\e[0m"
printf '%*s\n' "${COLUMNS:-$(tput cols)}" '' | tr ' ' =
echo -e "Change ports by editing the command-line"
echo -e "parameters in ${selfname}."
echo -e ""
echo -e "Useful port diagnostic command:"
echo -e "netstat -atunp | grep terraia"
echo -e ""
{
echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL"
echo -e "> Game\tINBOUND\t${port}\ttcp"
echo -e "> Query\tINBOUND\t${queryport}\ttcp"
echo -e "> Rcon\tINBOUND\t${rconport}\ttcp"
} >> .fn_details_ports
column -s $'\t' -t .fn_details_ports
rm -f .fn_details_ports
fn_details_statusbottom
}
fn_details_teamspeak3(){
fn_details_config
fn_details_distro
@ -703,6 +735,8 @@ elif [ "${engine}" == "spark" ]; then
fn_details_spark
elif [ "${engine}" == "starbound" ]; then
fn_details_starbound
elif [ "${engine}" == "terraria" ]; then
fn_details_terraria
elif [ "${engine}" == "unity3d" ]; then
fn_details_unity3d
elif [ "${engine}" == "unreal" ] || [ "${engine}" == "unreal2" ]; then
@ -713,4 +747,4 @@ elif [ "${gamename}" == "Teamspeak 3" ]; then
fn_details_teamspeak3
else
fn_printerrornl "Unable to detect server engine."
fi
fi

Loading…
Cancel
Save