Browse Source

Created ecoserver

Daniel Gibbs 8 years ago
parent
commit
87c19a83d2

+ 5 - 6
lgsm/config-default/config-lgsm/ecoserver/_default.cfg

@@ -8,10 +8,6 @@
 
 #### Server Settings ####
 
-## SteamCMD Login | https://github.com/GameServerManagers/LinuxGSM/wiki/SteamCMD#steamcmd-login
-steamuser="username"
-steampass='password'
-
 ## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters
 fn_parms(){
     parms="-nogui"
@@ -95,8 +91,11 @@ engine="unity3d"
 ## Server Specific Directories
 systemdir="${serverfiles}"
 executabledir="${serverfiles}"
-executable="mono ${serverfiles}/EcoServer.exe"
-# TODO: Add config stuff
+executable="mono ./EcoServer.exe"
+servercfg="Network.eco"
+servercfgdefault="Network.eco"
+servercfgdir="${systemdir}/Configs"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${rootdir}/backups"

+ 1 - 1
lgsm/functions/command_monitor.sh

@@ -186,7 +186,7 @@ if [ "${gamename}" == "Starbound" ]; then
 	if [ "${queryenabled}" == "true" ]; then
 		fn_monitor_query
 	fi
-elif [ "${gamename}" == "TeamSpeak 3" ]; then
+elif [ "${gamename}" == "TeamSpeak 3" ]||[ "${gamename}" == "Eco" ]; then
 	fn_monitor_query_telnet
 else
 	fn_monitor_query

+ 31 - 0
lgsm/functions/info_config.sh

@@ -252,6 +252,34 @@ fn_info_config_dontstarve(){
 	fi
 }
 
+fn_info_config_eco(){
+	if [ ! -f "${servercfgfullpath}" ]; then
+		servername="${unavailable}"
+		serverpassword="${unavailable}"
+		maxplayers="${zero}"
+		gamemode="${unavailable}"
+		tickrate="${zero}"
+		port="${zero}"
+		webadminport="${zero}"
+		public=""
+	else
+		servername=$(grep "Description" "${servercfgdir}/Network.eco" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/Description//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
+		serverpassword=$(grep "Password" "${servercfgdir}/Network.eco" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/Password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
+		maxplayers=$(grep "MaxConnections" "${servercfgdir}/Network.eco" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/MaxConnections//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
+		port=$(grep "\"GameServerPort\"" "${servercfgdir}/Network.eco" | tr -cd '[:digit:]')
+		webadminport=$(grep "\"WebServerPort\"" "${servercfgdir}/Network.eco" | tr -cd '[:digit:]')
+		public=$(grep "PublicServer" "${servercfgdir}/Network.eco" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/PublicServer//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
+
+		# Not Set
+		servername=${servername:-"NOT SET"}
+		serverpassword=${serverpassword:-"NOT SET"}
+		maxplayers=${maxplayers=:-"0"}
+		port=${port=:-"0"}
+		webadminport=${webadminport=:-"0"}
+		public=${public=:-"NOT SET"}
+	fi
+}
+
 fn_info_config_factorio(){
 	if [ ! -f "${servercfgfullpath}" ]; then
 		servername="Factorio Server"
@@ -1020,6 +1048,9 @@ elif [ "${gamename}" == "Call of Duty: World at War" ]; then
 # Dont Starve Together
 elif [ "${engine}" == "dontstarve" ]; then
 	fn_info_config_dontstarve
+# Eco
+elif [ "${shortname}" == "eco" ]; then
+	fn_info_config_eco
 # Factorio
 elif [ "${gamename}" == "Factorio" ]; then
 	fn_info_config_factorio

+ 13 - 1
lgsm/functions/info_messages.sh

@@ -438,7 +438,7 @@ fn_info_message_ports(){
 
 	parmslocation="${red}UNKNOWN${default}"
 	# engines/games that require editing in the config file
-	local ports_edit_array=( "avalanche2.0" "avalanche3.0" "Ballistic Overkill" "dontstarve" "idtech2" "idtech3" "idtech3_ql" "lwjgl2" "Project Cars" "projectzomboid" "quake" "refractor" "realvirtuality" "renderware" "seriousengine35" "Stationeers" "teeworlds" "terraria" "unreal" "unreal2" "unreal3" "TeamSpeak 3" "Mumble" "7 Days To Die" )
+	local ports_edit_array=( "avalanche2.0" "avalanche3.0" "Ballistic Overkill" "dontstarve" "Eco" "idtech2" "idtech3" "idtech3_ql" "lwjgl2" "Project Cars" "projectzomboid" "quake" "refractor" "realvirtuality" "renderware" "seriousengine35" "Stationeers" "teeworlds" "terraria" "unreal" "unreal2" "unreal3" "TeamSpeak 3" "Mumble" "7 Days To Die" )
 	for port_edit in "${ports_edit_array[@]}"
 	do
 		if [ "${shortname}" == "ut3" ]; then
@@ -616,6 +616,16 @@ fn_info_message_dontstarve(){
 	} | column -s $'\t' -t
 }
 
+fn_info_message_eco(){
+	echo -e "netstat -atunp | grep mono"
+	echo -e ""
+	{
+		echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL"
+		echo -e "> Game\tINBOUND\t${port}\tudp"
+		echo -e "> WebAdmin\tINBOUND\t${webadminport}\ttcp"
+	} | column -s $'\t' -t
+}
+
 fn_info_message_factorio(){
 	echo -e "netstat -atunp | grep factorio"
 	echo -e ""
@@ -1082,6 +1092,8 @@ fn_info_message_select_engine(){
 		fn_info_message_cod4
 	elif [ "${gamename}" == "Call of Duty: World at War" ]; then
 		fn_info_message_codwaw
+	elif [ "${gamename}" == "Eco" ]; then
+		fn_info_message_eco
 	elif [ "${gamename}" == "ET: Legacy" ]; then
 		fn_info_message_etlegacy
 	elif [ "${gamename}" == "Factorio" ]; then

+ 8 - 0
lgsm/functions/info_parms.sh

@@ -41,6 +41,11 @@ fn_info_parms_dst(){
 	cave=${cave:-"NOT SET"}
 }
 
+fn_info_parms_eco(){
+	queryport=${webadminport}
+}
+
+
 fn_info_parms_factorio(){
 	port=${port:-"0"}
 	rconport=${rconport:-"0"}
@@ -147,6 +152,9 @@ elif [ "${engine}" == "realvirtuality" ]; then
 # Call of Duty
 elif [ "${gamename}" == "Call of Duty" ]||[ "${gamename}" == "Call of Duty: United Offensive" ]||[ "${engine}" == "iw2.0" ]||[ "${engine}" == "iw3.0" ]; then
 	fn_info_parms_cod
+# Eco
+elif [ "${gamename}" == "Eco" ]; then
+	fn_info_parms_eco
 # Factorio
 elif [ "${gamename}" == "Factorio" ]; then
 	fn_info_parms_factorio