alinmear / docker-conanexiles

A docker container to easily provision and manage a conanexiles dedicated server using wine
MIT License
105 stars 74 forks source link

Server not starting #18

Closed Andargor closed 6 years ago

Andargor commented 6 years ago

Hi there!

I'm using the last docker-compose definition from your readme, with the slight difference that I map to a different volume and of course use my own passwords. Other than that, exactly the same.

After "docker-compose up", it gets to the point where it says conanexilesController entered RUNNING state, and then nothing. No install, no server start. I run it as root for now.

Am I missing something or does that have to happen manually the first time?

Here's the docker logs from that instance:

/usr/bin/redi.sh: line 170: redis: Name or service not known
/usr/bin/redi.sh: line 170: FD: Invalid argument
/usr/bin/redi.sh: line 172: $FD: ambiguous redirect
/usr/bin/redi.sh: line 211: $FD: ambiguous redirect
/usr/bin/redi.sh: line 214: FD: ambiguous redirect
linux32/
linux32/libstdc++.so.6
linux32/steamcmd
steamcmd.sh
steam.sh
[Errno 2] No such file or directory: '/conanexiles/ConanSandbox/saved/Saved/Config/WindowsServer/Game.ini'
Parameter not found: RconPassword
Parameter not found: RconPort
[Errno 2] No such file or directory: '/conanexiles/ConanSandbox/saved/Saved/Config/WindowsServer/Engine.ini'
Parameter not found: ServerPassword
Parameter not found: RconEnabled
/usr/lib/python2.7/dist-packages/supervisor/options.py:297: UserWarning: Supervisord is running as root and it is searching for its configuration file in default locations (including its current working directory); you probably want to specify a "-c" argument specifying an absolute path to a configuration file for improved security.
  'Supervisord is running as root and it is searching '
2018-06-21 23:44:18,493 CRIT Supervisor running as root (no user in config file)
2018-06-21 23:44:18,493 WARN Included extra file "/etc/supervisor/conf.d/conanexiles.conf" during parsing
2018-06-21 23:44:18,503 INFO RPC interface 'supervisor' initialized
2018-06-21 23:44:18,503 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2018-06-21 23:44:18,503 INFO supervisord started with pid 146
2018-06-21 23:44:19,506 INFO spawned: 'conanexilesController' with pid 155
2018-06-21 23:44:20,521 INFO success: conanexilesController entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

docker version

Client:
 Version:      18.03.1-ce
 API version:  1.37
 Go version:   go1.9.5
 Git commit:   9ee9f40
 Built:        Thu Apr 26 07:18:46 2018
 OS/Arch:      linux/amd64
 Experimental: false
 Orchestrator: swarm

Server:
 Engine:
  Version:      18.03.1-ce
  API version:  1.37 (minimum version 1.12)
  Go version:   go1.9.5
  Git commit:   9ee9f40
  Built:        Thu Apr 26 07:16:59 2018
  OS/Arch:      linux/amd64
  Experimental: false
Andargor commented 6 years ago

I manually started the initial update process using "supervisorctl start conanexilesUpdate". I'm just wondering if this is intentional or this should have happened automatically?

Andargor commented 6 years ago

I manually started the server using "supervisorctl start conanexilesServer". Am I doing it right?

Andargor commented 6 years ago

Today there was an update and it wasn't applied automatically. I'm upgrading manually.

alinmear commented 6 years ago

There seems to be a problem with the default instancename: No such file or directory: '/conanexiles/ConanSandbox/saved/Saved/

I will investigate and commit a fix. Can you please post your compose file (without pwds ;) )

alinmear commented 6 years ago

With the last commit the bug should be solved. Please take care, if you have not set the env variable CONANEXILES_INSTANCE_NAME, you have to check the location of your server instance Saved Folder.

Without an explicit instancename it should be /conanexiles/ConanSandbox/Saved/. Because of a bug in the handling of the default Name, it could be, that your db files are in /conanexiles/ConanSandbox/saved/Saved/. If so, copy them to /conanexiles/ConanSandbox/Saved/ and start the container.

alinmear commented 6 years ago

@Andargor any news on this issue?

Andargor commented 6 years ago

@alinmear Hey there. I've been running the server since my post, the error about the Saved directory was there because it was the first time it ran. The path is there and the server works.

What doesn't work is the automated updates, and the fact that the server doesn't start on it's own when the container starts. For both of these I have to exec bash into the container and manually call supervisorctl,

alinmear commented 6 years ago

@Andargor did you try your setup with the latest build and commit?

Andargor commented 6 years ago

Sorry for the delay, I was waiting for when the server would not be busy. The server starts automatically with the latest pull, there are some errors though related to the use of environment variables (I did not use docker-compose, just direct docker run). Do you want a separate issue for that?

Log

docker logs conanexiles
>> WARN: Failed to connect to redis instance - redis:6379. Skipping redis call: redis_set_master_server_instance
linux32/
linux32/libstdc++.so.6
linux32/steamcmd
steamcmd.sh
steam.sh
Parameter not found: DayTimeSpeedScale
Parameter not found: PlayerActiveHungerMultiplier
Parameter not found: ThrallConversionMultiplier
Parameter not found: PlayerIdleHungerMultiplier
Parameter not found: EnablePurge
Parameter not found: PlayerIdleThirstMultiplier
[Errno 2] No such file or directory: '/conanexiles/ConanSandbox/Saved/Config/WindowsServer/Game.ini'
Parameter not found: LogoutCharactersRemainInTheWorld
Parameter not found: PlayerActiveThirstMultiplier
Parameter not found: ItemSpoilRateScale
Parameter not found: ThrallExclusionRadius
Parameter not found: ServerPassword
Parameter not found: DisableBuildingAbandonment
Parameter not found: EverybodyCanLootCorpse
Parameter not found: RconPassword
Parameter not found: RconPort
Parameter not found: DropEquipmentOnDeath
Parameter not found: DurabilityMultiplier
Parameter not found: NightTimeSpeedScale
[Errno 2] No such file or directory: '/conanexiles/ConanSandbox/Saved/Config/WindowsServer/Engine.ini'
Parameter not found: ServerPassword
Parameter not found: RconEnabled
Parameter not found: DayCycleSpeedScale
/usr/lib/python2.7/dist-packages/supervisor/options.py:297: UserWarning: Supervisord is running as root and it is searching for its configuration file in default locations (including its current working directory); you probably want to specify a "-c" argument specifying an absolute path to a configuration file for improved security.
  'Supervisord is running as root and it is searching '
2018-06-28 19:55:13,882 CRIT Supervisor running as root (no user in config file)
2018-06-28 19:55:13,883 WARN Included extra file "/etc/supervisor/conf.d/conanexiles.conf" during parsing
2018-06-28 19:55:13,893 INFO RPC interface 'supervisor' initialized
2018-06-28 19:55:13,893 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2018-06-28 19:55:13,893 INFO supervisord started with pid 512
2018-06-28 19:55:14,897 INFO spawned: 'conanexilesController' with pid 521
>> INFO: Mode: Master - Instance: 25a9d723354e
2018-06-28 19:55:15,908 INFO success: conanexilesController entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2018-06-28 19:55:32,692 INFO spawned: 'conanexilesServer' with pid 594
2018-06-28 19:55:34,101 INFO success: conanexilesServer entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
conanexilesServer: started

Start command

docker run -d -p 7777-7778:7777-7778 -p 7777-7778:7777-7778/udp -p 27000-27015:27000-27015 -p 27000-27015:27000-27015/udp -p 32330:32330 \
-e TZ="America/Montreal" \
-e "CONANEXILES_ServerSettings_ServerSettings_AdminPassword"="XXXX" \
-e "CONANEXILES_ServerSettings_ServerSettings_ServerPassword"="XXXX" \
-e "CONANEXILES_ServerSettings_ServerSettings_HarvestAmountMultiplier"=4 \
-e "CONANEXILES_ServerSettings_ServerSettings_PlayerXPRateMultiplier"=3 \
-e "CONANEXILES_ServerSettings_ServerSettings_ThrallConversionMultiplier"=0.1 \
-e "CONANEXILES_ServerSettings_ServerSettings_ItemConvertionMultiplier"=0.1 \
-e "CONANEXILES_ServerSettings_ServerSettings_PlayerIdleThirstMultiplier"=0.1 \
-e "CONANEXILES_ServerSettings_ServerSettings_PlayerActiveThirstMultiplier"=0.2 \
-e "CONANEXILES_ServerSettings_ServerSettings_PlayerIdleHungerMultiplier"=0.1 \
-e "CONANEXILES_ServerSettings_ServerSettings_PlayerActiveHungerMultiplier"=0.2 \
-e "CONANEXILES_ServerSettings_ServerSettings_DayCycleSpeedScale"=0.25 \
-e "CONANEXILES_ServerSettings_ServerSettings_DayTimeSpeedScale"=0.5 \
-e "CONANEXILES_ServerSettings_ServerSettings_NightTimeSpeedScale"=4.0 \
-e "CONANEXILES_ServerSettings_ServerSettings_LogoutCharactersRemainInTheWorld"="False" \
-e "CONANEXILES_ServerSettings_ServerSettings_DurabilityMultiplier"=2 \
-e "CONANEXILES_ServerSettings_ServerSettings_DropEquipmentOnDeath"="False" \
-e "CONANEXILES_ServerSettings_ServerSettings_EverybodyCanLootCorpse"="False" \
-e "CONANEXILES_ServerSettings_ServerSettings_ItemSpoilRateScale"=0.1 \
-e "CONANEXILES_ServerSettings_ServerSettings_ResourceRespawnSpeedMultiplier"=0.5 \
-e "CONANEXILES_ServerSettings_ServerSettings_ThrallExclusionRadius"=100 \
-e "CONANEXILES_ServerSettings_ServerSettings_UnconsciousTimeSeconds"=3600 \
-e "CONANEXILES_ServerSettings_ServerSettings_DisableBuildingAbandonment"="True" \
-e "CONANEXILES_ServerSettings_ServerSettings_EnablePurge"="False" \
-e "CONANEXILES_Engine_OnlineSubSystemSteam_ServerName"="AndargorPlayground" \
-e "CONANEXILES_Engine_OnlineSubSystemSteam_ServerPassword"="XXXX" \
-e "CONANEXILES_Game_RconPlugin_RconPassword"="XXXX" \
-e "CONANEXILES_Game_RconPlugin_RconPort"=32330 \
-e "CONANEXILES_SERVER_TYPE"="pvp" \
-v /local2/conanexiles:/conanexiles --name conanexiles --security-opt apparmor=docker-ptrace --restart=always alinmear/docker-conanexiles
Andargor commented 6 years ago

Ah, something broke in that update. My save Directory was /local2/conanexiles/ConanSandbox/saved/Saved, and now it's /local2/conanexiles/ConanSandbox/Saved

Which one should be the correct one? It was shocking to go in game and see character creation :)

EDIT: For now I linked /local2/conanexiles/ConanSandbox/Saved to /local2/conanexiles/ConanSandbox/saved/Saved

alinmear commented 6 years ago

Please check my comment 5 days ago.

The correct path should be /local2/conanexiles/ConanSandbox/Saved

Andargor commented 6 years ago

Ok, I'll fix it the next time I do maintenance. It's probably why it couldn't find the parameters on start. The only thing that remains to be seen is if it will update automatically. I will let you know when it happens.

Andargor commented 6 years ago

For the two last updates, it seems the server updated automatically. I think we can now close this issue, thanks!