Jump to content

Native Linux server (with management scripts)


Alloc

Recommended Posts

welcome.sh

 

Did you check that DATA actually contains what you expect (just echo DATA for example)? Also, I don't think you want the inner quotes around $DATA in your command, i.e.

telnetCommand $1 "sayplayer $4 \"data: $DATA\""

 

Thanks for the tips Alloc, I got it working :)

But I have another question: Is it possible to chain the telnet commands together?

EG: telnetCommand $1 "sayplayer player \"message1\""; "sayplayer player \"message 2\""; etc...

To avoid spamming the telnet connection for consecutive 'say commands'.

 

For anyone else that wants to use it, it displays welcome message, users playtime, days until next 7 day horde. It goes into the 'playerConnect' hooks folder. It uses PM to avoid global spam.

 

#!/bin/bash
. /usr/local/lib/7dtd/common.sh

###Strindex - http://stackoverflow.com/questions/5031764
strindex() {  
 x="${1%%$2*}"
 [[ $x = $1 ]] && echo -1 || echo ${#x}
}


###Get current day###
#get telent 'gt' response
sGT="$(telnetCommand $1 "gt")"
#extract day string
sData=$(echo "$sGT" | egrep -o '^Day [0-9]{1,}')
#divide by 7, get remainder
iDay=$( expr ${sData:4} % 7)
#build seven day message
sSDMsg="There are [00FF00]$iDay days[-] until next 7day horde."


###Get player details###
sOut="$(telnetCommand $1 "lkp $3")"
#Find the desired string beginning
iPlNmStrt=$(strindex "$sOut" "1. $3,") 
#Find the desired string end.
iPlNmEnd=$(strindex "$sOut" "Total of ")
#Calculate length
iOutStrLen=$(expr $iPlNmEnd - $iPlNmStrt)
#Grab the string.
sLKPStr="${sOut:$iPlNmStrt:$iOutStrLen-2}"

###Get string parts into array
OIFS=$IFS; 			#store existing sep
IFS="," 			#Change the separator to comma
aLkpArr=($sLKPStr) 	#serialise
IFS=$OIFS 			#return to default sep

###Playtime.
vPlTme="${aLkpArr[5]}"
sPlTme="${vPlTme:10:-2}"

###Build mesages
sMsg1="Welcome [00FF00]$3[-]!"
sMsg2="Playtime: [00FF00]$sPlTme mins[-]"
sMsg4="7 Nights 2 Live is an EU based PVE server. \
No Player killing or Griefing is allowed. \
Server Map: [FFFF00]http://7n2l.com[-]"

###Send messages
telnetCommand $1 "sayplayer $3 \"$sMsg1\""
telnetCommand $1 "sayplayer $3 \"$sMsg2\""
telnetCommand $1 "sayplayer $3 \"$sSDMsg\""
telnetCommand $1 "sayplayer $3 \"$sMsg4\""

 

- - - Updated - - -

 

Does the scripts support an Auto-restart of a server instance or if someone has a script for it, our server seems to crash randomly and i have to manually restart it.

 

 

What setup do you have? Can you add a cron job? How do you start your server normally?

Need to know setup before can give advice.

Link to comment
Share on other sites

Hey Alloc, as always, thanks for all your hard work- not sure where this game would be without you.

 

Running into a little issue that is preventing anyone from joining my server with EAC enabled. Is this a known issue? Got a work around or fix for this?

2016-04-14T15:03:33 7008.595 INF [NET] PlayerConnected EntityID=-1, PlayerID='', OwnerID='', PlayerName=''
2016-04-14T15:03:33 7008.779 INF PlayerLogin: Carbon/Alpha 14.5
2016-04-14T15:03:33 7008.779 INF Token length: 1368
2016-04-14T15:03:33 7008.779 INF [steamworks.NET] Auth.AuthenticateUser()
2016-04-14T15:03:33 7008.779 INF [steamworks.NET] Authenticating player: Carbon SteamId: XXXXXXXXXXXX TicketLen: 1024 Result: k_EBeginAuthSessionResultOK
2016-04-14T15:03:33 7008.779 INF [EAC] Registering user: id=XXXXXXXXXXXX, owner=XXXXXXXXXXXX
2016-04-14T15:03:33 7008.779 INF Allowing player with id XXXXXXXXXXXX
2016-04-14T15:03:33 7008.790 INF [EAC] UserStatusHandler callback. Status: UserAuthenticated GUID: XXXXXXXXXXXX ReqKick: False Message: EAC Authenticated
2016-04-14T15:03:33 7009.031 INF [steamworks.NET] Authentication callback. ID: XXXXXXXXXXXX, owner: XXXXXXXXXXXX, result: k_EAuthSessionResponseOK
2016-04-14T15:03:34 7009.277 INF [EAC] Log: Backend connection established.
2016-04-14T15:03:35 7010.312 INF RequestToEnterGame: XXXXXXXXXXXX/Carbon
2016-04-14T15:03:35 7010.312 INF PPS RequestToEnterGame sending player list with 1 player(s)
2016-04-14T15:03:35 7010.312 INF XXXXXXXXXXXX -> -1
2016-04-14T15:03:53 7028.216 INF RequestToSpawnPlayer: 171, Carbon, 5
2016-04-14T15:03:53 7028.244 INF Created player with id=171
2016-04-14T15:03:53 7028.244 INF PPS logged in player: XXXXXXXXXXXX -> 171
2016-04-14T15:03:53 7028.245 INF Adding observed entity: 2, (2054.7, 57.4, 1717.4), 5
2016-04-14T15:03:53 7028.245 INF GMSG: Carbon joined the game
2016-04-14T15:03:55 7030.545 INF [EAC] Log: User without EAC connection: XXXXXXXXXXXX. User status: Disconnected.
2016-04-14T15:03:55 7030.556 INF [EAC] UserStatusHandler callback. Status: UserDisconnected GUID: XXXXXXXXXXXX ReqKick: True Message: EAC Disconnected
2016-04-14T15:03:55 7030.556 INF [EAC] Kick player Carbon, status UserDisconnected
2016-04-14T15:03:55 7030.556 INF Kicking player: Kicked by EAC. Please check if you started the game with AntiCheat protection software enabled
2016-04-14T15:03:55 7030.666 INF [NET] PlayerDisconnected EntityID=171, PlayerID='XXXXXXXXXXXX', OwnerID='XXXXXXXXXXXX', PlayerName='Carbon'
2016-04-14T15:03:55 7030.666 INF Player disconnected: EntityID=171, PlayerID='XXXXXXXXXXXX', OwnerID='XXXXXXXXXXXX', PlayerName='Carbon'
2016-04-14T15:03:55 7030.666 INF [EAC] FreeUser (Carbon)
2016-04-14T15:03:55 7030.666 INF [EAC] Log: [unregisterUser] GUID: XXXXXXXXXXXX
2016-04-14T15:03:55 7030.666 INF GMSG: Carbon left the game
2016-04-14T15:03:55 7030.666 INF Removing observed entity 2
2016-04-14T15:03:56 7031.085 ERR DisconnectClient: Player XXXXXXXXXXXX not found 

Edited by jordanmw (see edit history)
Link to comment
Share on other sites

Does the scripts support an Auto-restart of a server instance or if someone has a script for it, our server seems to crash randomly and i have to manually restart it.

 

No auto-restart, check the log-lines, my server always crashes when they are between 30k and 40k (AI and physics stop working, forges get buggy) So have an eye on this before it is crashing. The more player you have on your server the time until logs go above 30k can vary, so this may be the "randomly" factor, just a guess.

Link to comment
Share on other sites

What setup do you have? Can you add a cron job? How do you start your server normally?

Need to know setup before can give advice.

 

well i have a Ubuntu setup using the scripts from https://7dtd.illy.bz/ im not very good with

cron scripts or how to make it check my instance to see if its running and start it back up.

Link to comment
Share on other sites

well i have a Ubuntu setup using the scripts from https://7dtd.illy.bz/ im not very good with

cron scripts or how to make it check my instance to see if its running and start it back up.

 

You don't need to check if the instance is running, you can just issue the start command:

sudo 7dtd.sh start myinstance 

If the instance is already running, the command exits gracefully.

You can set a cron job to issue the command every n minutes:

sudo crontab -e

Then type or paste (ctrl+shift+v) in terminal:

*/2 * * * * /usr/local/bin/7dtd.sh start myinstance >> /dev/null 2>&1

This will attempt to start the server every two minutes, you can adjust that to what you want, adjust 'myinstance' to the required instance name.

 

Another thing you can do is restart the server periodically. I have to do this with my Ubuntu VPS on NFO servers, as the linux dedi doesn't run as reliably as the windows version. If you are interested, I use cron to restart every six hours (3am/9am/3pm/9pm):

0 3,9,15,21 * * * /usr/local/bin/7dtd.sh kill myinstance; /usr/local/bin/7dtd.sh start myinstance 

 

I announce the coming restart for five mins, using a PHP script, but I may use a bash script when I get round to it. I will post it here if I do.

 

 

---UPDATED--

I made the bash announce script:

 

#!/bin/bash
. /usr/local/lib/7dtd/common.sh


# Check for minute argument, exit if empty.
if [ $# -eq 0 ]
 then
   echo "No minute given, exiting";
   exit;
fi

# get datenow for log
sNow=$(date +%d-%m-%Y_%H:%M:%S_)

# build the message.
case "$1" in

"now")
       sMsg="[00FF00]Server is restarting, you can rejoin in approx [ff0000]1 minute[-]"
	#send the message
	telnetCommand "myinstance" "say \"$sMsg\""
	#save
	telnetCommand "myinstance" "sa"
	#kickall
	telnetCommand "myinstance" "kickall \"RESTARTING SERVER - you can rejoin in approx 1 minute\""
	#shutdown server
	telnetCommand "myinstance" "shutdown"
	;;

*)
	sMsg="[00FF00]Server will restart in [FF0000] $1 MINUTES[-]"
	#send the message
	telnetCommand "myinstance" "say \"$sMsg\""
	;;
esac

#log action
echo $sNow$sMsg

 

You need to save that file somewhere on your system.

I use the instance/hooks folder:

sudo nano /home/sdtd/instances/myinstance/hooks/shellrestart.sh

Copy the above code and paste it into the new file (ctrl+shift+v), save the file (ctrl+o -> enter), exit the editor (ctrl+x).

Make the file executable:

sudo chmod +x /home/sdtd/instances/myinstance/hooks/shellrestart.sh

Then add the new cron lines (sudo crontab -e):

 

54 2,8,14,20 * * * /home/sdtd/instances/myinstance/hooks/shellrestart.sh 5 >> /root/shellrestart.txt 2>&1

55 2,8,14,20 * * * /home/sdtd/instances/myinstance/hooks/shellrestart.sh 4 >> /root/shellrestart.txt 2>&1

56 2,8,14,20 * * * /home/sdtd/instances/myinstance/hooks/shellrestart.sh 3 >> /root/shellrestart.txt 2>&1

57 2,8,14,20 * * * /home/sdtd/instances/myinstance/hooks/shellrestart.sh 2 >> /root/shellrestart.txt 2>&1

58 2,8,14,20 * * * /home/sdtd/instances/myinstance/hooks/shellrestart.sh 1 >> /root/shellrestart.txt 2>&1

59 2,8,14,20 * * * /home/sdtd/instances/myinstance/hooks/shellrestart.sh now >> /root/shellrestart.txt 2>&1

0 3,9,15,21 * * * /usr/local/bin/7dtd.sh kill myinstance; /usr/local/bin/7dtd.sh start myinstance >> /root/shellrestart.txt 2>&1

 

Change 'myinstance' to suit, and the server will restart every six hours as before, but will announce with a five minute countdown. It will log it's behaviour to '/root/cronrestart.log, you can change that to fit your requirements. Let me know if you have any problems.

Edited by zigstum (see edit history)
Link to comment
Share on other sites

Change 'myinstance' to suit, and the server will restart every six hours as before, but will announce with a five minute countdown. It will log it's behaviour to '/root/cronrestart.log, you can change that to fit your requirements. Let me know if you have any problems.

 

Wow thats an awesome setup for the scripts, iu went thru it and i forced a shellrestart now, but my cron doesnt seem to be working on my end, not restarting the server in a min as ive been watching for the log to appear in /root and by monitoring ps aux for the server to come up, like i mentioned earlier not too good with crontabs this is how mines looks now

 

# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command
54 2,8,14,20 * * * /home/sdtd/shellrestart.sh 5 >> /root/shellrestart.txt 2>&1

55 2,8,14,20 * * * /home/sdtd/shellrestart.sh 4 >> /root/shellrestart.txt 2>&1

56 2,8,14,20 * * * /home/sdtd/shellrestart.sh 3 >> /root/shellrestart.txt 2>&1

57 2,8,14,20 * * * /home/sdtd/shellrestart.sh 2 >> /root/shellrestart.txt 2>&1

58 2,8,14,20 * * * /home/sdtd/shellrestart.sh 1 >> /root/shellrestart.txt 2>&1

59 2,8,14,20 * * * /home/sdtd/shellrestart.sh now >> /root/shellrestart.txt 2>&1

0 3,9,15,21 * * * /usr/local/bin/7dtd.sh kill Hawaii; /usr/local/bin/7dtd.sh start Hawaii >> /root/shellrestart.txt 2>&1

 

using sudo crontab -e or by su'ing in to root and doing it from there... So im suspecting my cron not working, i have Ubuntu 14.04 64-bit and ive always thought ubuntu to have a strange cron setup vs Slackware i used in the past.

Link to comment
Share on other sites

Wow thats an awesome setup for the scripts, iu went thru it and i forced a shellrestart now, but my cron doesnt seem to be working on my end, not restarting the server in a min as ive been watching for the log to appear in /root and by monitoring ps aux for the server to come up...

using sudo crontab -e or by su'ing in to root and doing it from there... So im suspecting my cron not working, i have Ubuntu 14.04 64-bit and ive always thought ubuntu to have a strange cron setup vs Slackware i used in the past.

 

I've not known cron to fail before, it's integral to the system from what I understand. To troubleshoot this problem, I would try running the commands directly to see if they still fail. While you are in game on your server, run the 'sudo /home/sdtd/shellrestart.sh 5' command from a terminal and see if the message comes through. To test the writing to shellrestart.txt you could 'sudo echo test >> /root/shellrestart.txt'. Check the restart.txt is writable (chmod +w), and that the scripts are executable (chmod +x). Did you try cron as a regular user? My name is the same on steam if you would like to add me. Good luck :)

Link to comment
Share on other sites

I think the only cron implementation I've seen so far that does not have a user column was with Busybox.

Normally you have the column user between dow and command. Maybe try adding "root" there and see if that works.

 

@zigstum: Careful about combining sudo with pipes / redirects ;)

Running "sudo echo test >> /root/shellrestart.txt" as non-root probably won't work as only the command invocation (echo test) will be run within sudo, the redirect is not affected iirc.

Link to comment
Share on other sites

@zigstum: Careful about combining sudo with pipes / redirects ;)

Running "sudo echo test >> /root/shellrestart.txt" as non-root probably won't work as only the command invocation (echo test) will be run within sudo, the redirect is not affected iirc.

 

Ah, that makes sense :D

Thanks for the heads-up.

I noticed you implemented the 'per-instance' hooks, good job! I will check it over later and make sure it is not too hacky ^^

Do you know if there has been any progress reducing resource usage on the dedi, especially under linux? I'm currently having to cap my 4XCore/8GB Ubuntu 15 VPS to 16 slots, with a 6hr restart to keep lag to a minimum. It seems from the few things I have read, that Windows is much more stable and less piggy than the linux dedi, but I don't know anything concrete.

 

Also, is there a way to chain commands together in the user scripts, eg:

telnetCommand $1 "say \"msg 1\""; "say \""msg2\""

 

Also, is there a way to get newlines into a 'say' command, or do I need to use multiple say commands to get multiple lines of text sent to the server?

 

Also... nah, that's it for now :)

Thanks for your time Mr Alloc.

Zig.

Edited by zigstum
escaping slashes in code. (see edit history)
Link to comment
Share on other sites

Hey Alloc, another question for you :)

I'm currently trying to add some session control to the map, as I want only users logged into the community site to see the map. I had initially just loaded the webmap into a frame on my existing site, but when I moved server, the authentication started failing, and as my site header takes up too much real estate, I wanted to lose the frame and add a custom header to the index.html contained in the home/sdtd/engine/Mods/Allocs_WebAndMapRendering/webserver/ folder.

I configured the proxy reverse for the webmap and it works fine, however the profile ID I am passing (map.mydomain.com?id=111) is removed from the URL by the time it reaches map.mydomain.com/static/index.html. On the index.html I have a JS function that tries to retrieve the profile ID and will send an ajax request to see if that user is logged into the website. If they are, it will allow access to the page, if not, redirect them back to my site with a message telling them to log in.

So, the question; what's happening to the profile ID in the URL and how can I save it for use when /static/index.html is actually loaded?

Thanks for your time, as always :)

Link to comment
Share on other sites

Do you know if there has been any progress reducing resource usage on the dedi, especially under linux?

Nothing explicitly done there. Also see next quote:

 

 

 

It seems from the few things I have read, that Windows is much more stable and less piggy than the linux dedi, but I don't know anything concrete.

There's no difference in how the Windows and Linux version work and now that Linux has 64 bit support that part is ruled out too. So if you experience a difference in stability or resource usage it's part of Unity. We tend to avoid code dedicated to one particular OS ;)

 

 

 

Also, is there a way to chain commands together in the user scripts, eg:

telnetCommand $1 "say \"msg 1\""; "say \""msg2\""

No, has been asked before though, will probably add this.

 

 

 

Also, is there a way to get newlines into a 'say' command, or do I need to use multiple say commands to get multiple lines of text sent to the server?

Try sending a \n, not sure if it will work though. IIRC the UI components actually search for the string "\n" too (as in a backslash followed by a "n", not a newline character) so sending that might also work.

 

 

 

So, the question; what's happening to the profile ID in the URL and how can I save it for use when /static/index.html is actually loaded?

Try querying ".../static/index.html?yourparams". A GET request to the root directory results in a redirect and I assume that's where the params get lost.

 

 

 

Just got a crash in a restarted server while clicking on an inventar of an online player (1 player online)

 

http://omega-zirkel.de/files/webcrash2016-04-27.log

Wrong thread, it's about the mod ;)

It *could* be that it's Unity with threaded Texture2D usage, if that's the issue it will be fixed when the next game release (+ mod update, but that's already prepared) is out.

Link to comment
Share on other sites

There's no difference in how the Windows and Linux version work and now that Linux has 64 bit support that part is ruled out too. So if you experience a difference in stability or resource usage it's part of Unity. We tend to avoid code dedicated to one particular OS ;)

Thanks for clarifying, I heard whispers of a stability difference, but nothing concrete. It's good to hear from an official source so that I can rule that out of my enquiries :) Concerning the 64bit support, does this mean that the startserver.sh respects the results of the uname command? In the past, I had to rename the ".x86_64" to "x86" to get it to load the 64bit. The startserver script seemed to ignore my request for the 64bit executable. Also, when I used updateengine command, the 7daysToDieServer.xxx was not changed, with the renamed x86 executable remaining in the engine folder.

 

No, has been asked before though, will probably add this.

.

I saw this change in the source files on your trac site, this is a welcome addition and will greatly reduce the amount of telnet connections needed, nice one :D

Try sending a \n, not sure if it will work though.

I had tried this first but with no success, however with the ability to chain commands together (I am about to install the updated serverfixes) this is not a problem.

Try querying ".../static/index.html?yourparams". A GET request to the root directory results in a redirect and I assume that's where the params get lost.

I will have a look into this again later, thanks for the pointer :)

 

As always, thanks for your help :)

Zig.

Link to comment
Share on other sites

Concerning the 64bit support, does this mean that the startserver.sh respects the results of the uname command? In the past, I had to rename the ".x86_64" to "x86" to get it to load the 64bit. The startserver script seemed to ignore my request for the 64bit executable.

-> Release notes:

v.97 (2016-03-27)

   Use 64 bit server on 64 bit systems 

 

 

I saw this change in the source files on your trac site, this is a welcome addition and will greatly reduce the amount of telnet connections needed, nice one :D

Huh? There's just a ticket, nothing done yet ^^

 

I had tried this first but with no success

Just tried it, sending "\n" (the exact two characters, *not* the newline character) works just fine.

Link to comment
Share on other sites

-> Release notes:

v.97 (2016-03-27)

   Use 64 bit server on 64 bit systems 

good news (RTFM hint taken ^^)

 

Huh? There's just a ticket, nothing done yet ^^

oops ^^

Just tried it, sending "\n" (the exact two characters, *not* the newline character) works just fine.

I was being blonde, my apologies. say "Line1\nLine2\nLine3" works as expected XD

Link to comment
Share on other sites

  • 2 weeks later...

Hello all:

 

Has something changed recently in the way the chat log works? All I see is "player joined," "player left" and "player died." No actual chat messages from players. This is also affecting the chat hook, which I use so players can send me emails if they need help and I am not in game.

Link to comment
Share on other sites

I've had the chat problem too (now resolved), but I presumed it was my fault for breaking the install. I was moving to a new server so I thought it made sense to wait for a fresh install, but alas, the main problem persists - hook scripts in the playerConnect folder are not receiving the arguments that they did before, $2 $3 $4 $5 are all empty, but the instance variable $1 is given. If I missed something obvious (again), I apologise for taking your time Alloc. For reference, here is my join script:

#!/bin/bash
. /usr/local/lib/7dtd/common.sh

echo "1: $1 \n 2: $2 \n 3: $3 \n 4: $4 \n 5: $5 \n" >> /root/greet.log
telnetCommand $1 "sayplayer $4 \"[FFD700]Welcome  $3![-] \""

The file greet.log:

1: test \n 2:  \n 3:  \n 4:  \n 5:  \n

The console output:

INF Executing command 'sayplayer  "[FFD700]Welcome !. [-]"' by Telnet from 127.0.0.1:38527

The hook scripts were working fine until a recent update (the change in GSMG: to CHAT: - 14.6 I think) would be great to get them working again before I open my new server, can you help Alloc?

Thanks,

Zig.

 

-------------EDIT

Another thing I noticed which may well be related is that the players.log is no longer recording steamids/names/ip addresses. Current log:

 

2016.05.18 13:22:08 +++    
2016.05.18 13:51:19 --- 171  

 

previous log:

2016.05.01 00:52:44 +++ 231780 ⓢⓟⓘⓚⓔ3̷0̷0̷0̷1̷  Jalopy XXXXXXXXXXXX3702 XX.XX.XX.207
2016.05.01 00:54:09 --- 231780 ⓢⓟⓘⓚⓔ3̷0̷0̷0̷1̷  Jalopy XXXXXXXXXXXX3702

(steamid/IP changed)

 

I remember reading somehwere that there was a new variable to be passed to the hook scripts - the ownerid variable for players that are sharing the game. I wonder if this is when it all went horribly wrong :)

 

------------EDIT AGAIN

More info that may be necessary:

Game version: Alpha 14.6 (b26) Compatibility Version: Alpha 14.6
Mod Allocs command extensions: 8
Mod Allocs server fixes: 10
Mod Allocs MapRendering and Webinterface: 13
Mod Coppis command additions: 1

Edited by zigstum
Additional Info (v2) (see edit history)
Link to comment
Share on other sites

  • 1 month later...

Lately when I'm running the scripts, I get the following errors. I can't say for certain that I've never had them before, but I just started noticing as I'm still tinkering with this damn server build I've got going on.

 

root@7DTD:~# 7dtd.sh updateengine --experimentalLocal buildid:     1189196


Continue? (yn) y
Updating...
Redirecting stderr to '/root/Steam/logs/stderr.txt'
[  0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation
-- type 'quit' to exit --
Loading Steam API...applicationmanager.cpp (3091) : Assertion Failed: CApplicationManager::GetMountVolume: invalid index
applicationmanager.cpp (3091) : Assertion Failed: CApplicationManager::GetMountVolume: invalid index
applicationmanager.cpp (3242) : Assertion Failed: m_vecInstallBaseFolders.Count() > 0
Created shared memory when not owner SteamController_Shared_mem
OK.


Connecting anonymously to Steam Public...Logged in OK
Waiting for license info...OK
applicationmanager.cpp (3242) : Assertion Failed: m_vecInstallBaseFolders.Count() > 0
Update state (0x3) reconfiguring, progress: 0.00 (0 / 0)

In this particular instance, I'm attempting to update to the experimental_u52 version, which in the end, it doesn't actually do anyway since it just verifies the files without actually making any changes. I'll have to wipe the folders and re-install it to get the u52 build.

 

The assertion failures concerns me a bit though. I don't know if it's nothing, or if it's a sign of a deeper issue in my server I haven't noticed yet.

 

Oh, and just for reference. This is a clean Ubuntu 16.04 install with using this package.

 

P.S. Something else I noticed on the initial run. It looks like you added the pre-requisite installers into the initial build install.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...