Skip to content

Instantly share code, notes, and snippets.

@stevepraski
Last active April 25, 2020 14:37
Show Gist options
  • Save stevepraski/3b7d468d8e71b393b1640a6e329f54c4 to your computer and use it in GitHub Desktop.
Save stevepraski/3b7d468d8e71b393b1640a6e329f54c4 to your computer and use it in GitHub Desktop.
Eco Linux Docker Server Guide

Eco Linux Docker Server Guide

Eco is a Global Survival Game available on Steam and from this website: www.strangeloopgames.com/eco/

The server software is written in C# and works with limitations on Linux via Mono. The client software does work on Linux, but is not currently listed as supported on Steam (you can install via Steam on Linux however).

I assume that you have a docker host server available (if not there are Chef recipes and Chef bootstrapping scripts on my GitHub account). Server configuration options and port forwarding are not covered.

Updates

Since I originally wrote this, the Eco server now crashes with the lastest version of mono (5.16), but now only works with mono version 5.14. The game port (default 3000) was changed from TCP to UDP.

VirtualBox & Vagrant (aka easy-mode)

Warning: This is still a work in progress, and I'll probably move this into a repo and link to it from here. Skip to the next section if you do not have VirtualBox and Vagrant installed, otherwise:

curl -O https://raw.githubusercontent.com/stevepraski/edc-box/master/eco-docker/Vagrantfile
vagrant up

Unless I've already fixed it by now, you will have to "vagrant ssh" into the box and re-start the eco-server container, as it currently exits after first starting (possibly because it detects that I dropped in an easy mode configuration file):

vagrant ssh
docker start eco-server
docker logs ecoserver

The code and storage for the server is outside of vagrant in the local "eco" folder that was created.

Eco Server Creation

  1. First create a volume container. We will leverage/abuse this volume container as the only persistent part of the Eco server.
docker volume create eco-data
  1. Bring up a disposible utility docker container and attach it to the volume. You can use any debian based container for this.
docker pull mono:5.14
docker run -v eco-data:/opt/eco --rm -it mono:5.14 bash
  1. Inside the docker container, fetch and unzip the server software
cd /opt/eco
apt-get update && apt-get install -y unzip curl vim
curl -O https://s3-us-west-2.amazonaws.com/eco-releases/EcoServer_v0.7.8.6-beta.zip
unzip  EcoServer_v0.7.8.6-beta.zip 
### if needed, edit configuration files now ###
# vi Configs/Network.eco
exit
  1. Bring up a new container to actually run the Eco server. Note the "-t" option; for some reason a pseudo terminal is necessary)
docker run -v eco-data:/opt/eco -t -p 3000:3000/udp -p 3001:3001 --name ecoserver --restart always -d mono:5.14 sh -c "cd /opt/eco && mono EcoServer.exe -nogui"
  1. Look at the logs, waiting for world generation to complete. Exit the log follower, and fix your terminal
docker logs -f ecoserver
^d
reset

Eco Server Management

To change configuration options, stop the server, and attach a disposible container to the eco-data volume, just like we did for installation (to avoid re-installing your favourite editor or vim, I would suggest building a docker image for this purpose), edit the files in "/opt/eco/Configs/", exit the container and start the server. For debugging, you can have both containers attached to the same volume container, but you will need to restart the server before changes take effect.

docker stop ecoserver
docker run -v eco-data:/opt/eco --rm -it ubuntu bash
docker start ecoserver
@LsHallo
Copy link

LsHallo commented Dec 17, 2018

Does not seem to work with 0.7.8.6. Would be nice if you could investigate!

root@22085c932733:/opt/eco# mono EcoServer.exe -nogui
[12:35:35] Eco Server 0.7.8.6 beta
[12:35:35] Server Initialization... 
[12:35:35] Starting LocalizationPlugin... 
[12:35:35] Starting ModKitPlugin...       Finished in 194.0ms
[12:35:35] Loading mods... 
[12:35:35] Compiling mods... 
[12:35:36] Loading mods finished in 1,203.9ms3.5ms
[12:35:36] Starting NetworkManager... nished in 1,207.3ms
[12:35:36] Initializing items... 
[12:35:36] Starting BackupPlugin...   Finished in 30.8ms
[12:35:36] Starting StorageManager... nished in 5.8ms
Stacktrace:

  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) System.Reflection.Assembly.get_code_base (System.Reflection.Assembly,bool) [0x00017] in <2943701620b54f86b436d3ffad010412>:0
  at System.Reflection.Assembly.GetCodeBase (bool) [0x00000] in <2943701620b54f86b436d3ffad010412>:0
  at System.Reflection.Assembly.get_CodeBase () [0x00000] in <2943701620b54f86b436d3ffad010412>:0
  at System.Reflection.AssemblyName.Create (System.Reflection.Assembly,bool) [0x00010] in <2943701620b54f86b436d3ffad010412>:0
  at System.Reflection.RuntimeAssembly.GetName (bool) [0x0000e] in <2943701620b54f86b436d3ffad010412>:0
  at System.Reflection.Assembly.GetName () [0x00000] in <2943701620b54f86b436d3ffad010412>:0
  at Costura.AssemblyLoader.ReadExistingAssembly (System.Reflection.AssemblyName) [0x00013] in <26714c053a1946f2bea71895a06ab4a7>:0
  at Costura.AssemblyLoader.ResolveAssembly (object,System.ResolveEventArgs) [0x00042] in <26714c053a1946f2bea71895a06ab4a7>:0
  at System.AppDomain.DoAssemblyResolve (string,System.Reflection.Assembly,bool) [0x00075] in <2943701620b54f86b436d3ffad010412>:0
  at (wrapper runtime-invoke) <Module>.runtime_invoke_object__this___object_object_byte (object,intptr,intptr,intptr) [0x0001e] in <2943701620b54f86b436d3ffad010412>:0
  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) System.Reflection.Assembly.GetTypes (System.Reflection.Assembly,bool) [0x00017] in <2943701620b54f86b436d3ffad010412>:0
  at System.Reflection.Assembly.GetTypes () [0x00000] in <2943701620b54f86b436d3ffad010412>:0
  at Eco.Shared.Utils.ReflectionUtils/<>c__DisplayClass5_0.<DerivedTypes>b__0 (System.Reflection.Assembly) [0x00000] in <c93cfe39a2f04a938d4fa1c1eb559a64>:0
  at System.Linq.Enumerable/SelectManySingleSelectorIterator`2<TSource_REF, TResult_REF>.MoveNext () [0x00051] in <7aa7d6192efc4d31a9896d7a49ef2104>:0
  at Eco.Gameplay.Utils.AttributeCache`1<T_REF>.BuildCache (System.Type[]) [0x00047] in <45b1662e7433448992ddffce27252496>:0
  at Eco.ModKit.ModDataSync/<>c.<.ctor>b__1_0 () [0x00005] in <e4375ef160494eaebe876bb0ec483e87>:0
  at System.Threading.Tasks.Task.InnerInvoke () [0x0000f] in <2943701620b54f86b436d3ffad010412>:0
  at System.Threading.Tasks.Task.Execute () [0x00000] in <2943701620b54f86b436d3ffad010412>:0
  at System.Threading.Tasks.Task.ExecutionContextCallback (object) [0x00000] in <2943701620b54f86b436d3ffad010412>:0
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) [0x00071] in <2943701620b54f86b436d3ffad010412>:0
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) [0x00000] in <2943701620b54f86b436d3ffad010412>:0
  at System.Threading.Tasks.Task.ExecuteWithThreadLocal (System.Threading.Tasks.Task&) [0x00034] in <2943701620b54f86b436d3ffad010412>:0
  at System.Threading.Tasks.Task.ExecuteEntry (bool) [0x0004a] in <2943701620b54f86b436d3ffad010412>:0
  at System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem () [0x00000] in <2943701620b54f86b436d3ffad010412>:0
  at System.Threading.ThreadPoolWorkQueue.Dispatch () [0x00074] in <2943701620b54f86b436d3ffad010412>:0
  at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback () [0x00000] in <2943701620b54f86b436d3ffad010412>:0
  at (wrapper runtime-invoke) <Module>.runtime_invoke_bool (object,intptr,intptr,intptr) [0x0001e] in <2943701620b54f86b436d3ffad010412>:0
/proc/self/maps:
00400000-0082f000 r-xp 00000000 fd:00 6164349                            /usr/bin/mono-sgen
00a2f000-00a36000 r--p 0042f000 fd:00 6164349                            /usr/bin/mono-sgen
00a36000-00a3a000 rw-p 00436000 fd:00 6164349                            /usr/bin/mono-sgen
00a3a000-00a51000 rw-p 00000000 00:00 0 
00ef8000-0197d000 rw-p 00000000 00:00 0                                  [heap]
40f5b000-40f6b000 rwxp 00000000 00:00 0 
41033000-41153000 rwxp 00000000 00:00 0 
7f432f4bf000-7f432f600000 rw-p 00000000 00:00 0 
7f432fa00000-7f432fb00000 rw-p 00000000 00:00 0 
7f432fc00000-7f432fd00000 rw-p 00000000 00:00 0 
7f432fe00000-7f432ff00000 rw-p 00000000 00:00 0 
7f4330000000-7f4330056000 rw-p 00000000 00:00 0 
7f4330056000-7f4334000000 ---p 00000000 00:00 0 
7f4334000000-7f4334492000 rw-p 00000000 00:00 0 
7f4334492000-7f4338000000 ---p 00000000 00:00 0 
7f4338000000-7f4338a37000 rw-p 00000000 00:00 0 
7f4338a37000-7f433c000000 ---p 00000000 00:00 0 
7f433c000000-7f433c310000 rw-p 00000000 00:00 0 
7f433c310000-7f4340000000 ---p 00000000 00:00 0 
7f4340000000-7f4340600000 rw-p 00000000 00:00 0 
7f4340600000-7f4344000000 ---p 00000000 00:00 0 
7f4344000000-7f4344fee000 rw-p 00000000 00:00 0 
7f4344fee000-7f4348000000 ---p 00000000 00:00 0 
7f4348000000-7f4348021000 rw-p 00000000 00:00 0 
7f4348021000-7f434c000000 ---p 00000000 00:00 0 
7f434c100000-7f434c200000 rw-p 00000000 00:00 0 
7f434c500000-7f434c600000 rw-p 00000000 00:00 0 
7f434c638000-7f434c700000 rw-p 00000000 00:00 0 
7f434c874000-7f434c900000 rw-p 00000000 00:00 0 
7f434ca38000-7f434cb00000 rw-p 00000000 00:00 0 
7f434cc74000-7f434ce00000 rw-p 00000000 00:00 0 
7f434ce1c000-7f434d100000 r--p 00000000 fd:00 6553834                    /usr/lib/mono/gac/System.Web/4.0.0.0__b03f5f7f11d50a3a/System.Web.dll
7f434d137000-7f434d2f8000 rw-p 00000000 00:00 0 
7f434d2f9000-7f434d302000 ---p 00000000 00:00 0 
7f434d302000-7f434d4fa000 rw-p 00000000 00:00 0 
7f434d4fa000-7f434d503000 ---p 00000000 00:00 0 
7f434d503000-7f434d6fb000 rw-p 00000000 00:00 0 
7f434d6fb000-7f434d704000 ---p 00000000 00:00 0 
7f434d704000-7f434d8fc000 rw-p 00000000 00:00 0 
7f434d8fc000-7f434d905000 ---p 00000000 00:00 0 
7f434d905000-7f434dafd000 rw-p 00000000 00:00 0 
7f434dafd000-7f434db06000 ---p 00000000 00:00 0 
7f434db06000-7f434dcfe000 rw-p 00000000 00:00 0 
7f434dcfe000-7f434dd07000 ---p 00000000 00:00 0 
7f434dd07000-7f434deff000 rw-p 00000000 00:00 0 
7f434deff000-7f434df08000 ---p 00000000 00:00 0 
7f434df08000-7f434e200000 rw-p 00000000 00:00 0 
7f434e275000-7f434e300000 rw-p 00000000 00:00 0 
7f434e35f000-7f434e4b2000 rw-p 00000000 00:00 0 
7f434e4b2000-7f434e6b6000 r--p 00000000 fd:00 6553670                    /usr/lib/mono/gac/System.Data/4.0.0.0__b77a5c561934e089/System.Data.dll
7f434e6b6000-7f434e7fa000 rw-p 00000000 00:00 0 
7f434e838000-7f434e8b8000 rw-p 00000000 00:00 0 
7f434e8bc000-7f434e93c000 rw-p 00000000 00:00 0 
7f434e9dc000-7f434ea5c000 rw-p 00000000 00:00 0 
7f434ea60000-7f434eae0000 rw-p 00000000 00:00 0 
7f434eae4000-7f434ec1c000 rw-p 00000000 00:00 0 
7f434ec1c000-7f434ed00000 r--p 00000000 fd:00 6553801                    /usr/lib/mono/gac/System.Runtime.Serialization/4.0.0.0__b77a5c561934e089/System.Runtime.Serialization.dll
7f434ed18000-7f434ed1c000 rw-p 00000000 00:00 0 
7f434ed20000-7f434ed24000 rw-p 00000000 00:00 0 
7f434ed28000-7f434ed2c000 rw-p 00000000 00:00 0 
7f434ed30000-7f434ed34000 rw-p 00000000 00:00 0 
7f434ed38000-7f434ed3c000 rw-p 00000000 00:00 0 
7f434ed40000-7f434ed44000 rw-p 00000000 00:00 0 
7f434ed48000-7f434ed4c000 rw-p 00000000 00:00 0 
7f434ed50000-7f434ed54000 rw-p 00000000 00:00 0 
7f434ed58000-7f434ed5c000 rw-p 00000000 00:00 0 
7f434ed60000-7f434ed64000 rw-p 00000000 00:00 0 
7f434ed68000-7f434ed6c000 rw-p 00000000 00:00 0 
7f434ed6f000-7f434eed2000 rw-p 00000000 00:00 0 
7f434eed2000-7f434f03a000 r--p 00000000 fd:00 6553807                    /usr/lib/mono/gac/System.ServiceModel/4.0.0.0__b77a5c561934e089/System.ServiceModel.dll
7f434f03a000-7f434f33c000 r--p 00000000 fd:00 6164560                    /usr/lib/mono/gac/System.Xml/4.0.0.0__b77a5c561934e089/System.Xml.dll
7f434f33c000-7f434f600000 r--p 00000000 fd:00 6553891                    /usr/lib/mono/gac/System.Windows.Forms/4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
7f434f600000-7f434f700000 rw-p 00000000 00:00 0 
7f434f704000-7f434f708000 rw-p 00000000 00:00 0 
7f434f70c000-7f434f710000 rw-p 00000000 00:00 0 
7f434f714000-7f434f718000 rw-p 00000000 00:00 0 
7f434f71c000-7f434f720000 rw-p 00000000 00:00 0 
7f434f724000-7f434f728000 rw-p 00000000 00:00 0 
7f434f72c000-7f434f730000 rw-p 00000000 00:00 0 
7f434f734000-7f434f738000 rw-p 00000000 00:00 0 
7f434f73c000-7f434f7bc000 rw-p 00000000 00:00 0 
7f434f7c0000-7f434f7c4000 rw-p 00000000 00:00 0 
7f434f7c8000-7f434f7cc000 rw-p 00000000 00:00 0 
7f434f7d0000-7f434f7d4000 rw-p 00000000 00:00 0 
7f434f7d8000-7f434f7dc000 rw-p 00000000 00:00 0 
7f434f7e0000-7f434f7e4000 rw-p 00000000 00:00 0 
7f434f7e8000-7f434f7ec000 rw-p 00000000 00:00 0 
7f434f7f0000-7f434f7f4000 rw-p 00000000 00:00 0 
7f434f804000-7f434f884000 rw-p 00000000 00:00 0 
7f434f886000-7f434f939000 r--p 00000000 fd:00 6553876                    /usr/lib/mono/gac/System.Web.Services/4.0.0.0__b03f5f7f11d50a3a/System.Web.Services.dll
7f434f939000-7f434f95d000 r--p 00000000 fd:00 6553895                    /usr/lib/mono/gac/System.Windows.Forms.DataVisualization/4.0.0.0__31bf3856ad364e35/System.Windows.Forms.DataVisualization.dll
7f434f964000-7f434f968000 rw-p 00000000 00:00 0 
7f434f96c000-7f434f970000 rw-p 00000000 00:00 0 
7f434f974000-7f434f978000 rw-p 00000000 00:00 0 
7f434f97c000-7f434f980000 rw-p 00000000 00:00 0 
7f434f981000-7f434fb00000 rw-p 00000000 00:00 0 
7f434fb04000-7f434fb08000 rw-p 00000000 00:00 0 
7f434fb0c000-7f434fb10000 rw-p 00000000 00:00 0 
7f434fb2b000-7f434fb34000 r--p 00000000 fd:00 6553831                    /usr/lib/mono/gac/System.Transactions/4.0.0.0__b77a5c561934e089/System.Transactions.dll
7f434fb4a000-7f434fb5f000 r--p 00000000 fd:00 6553664                    /usr/lib/mono/gac/System.ComponentModel.DataAnnotations/4.0.0.0__31bf3856ad364e35/System.ComponentModel.DataAnnotations.dll
7f434fb5f000-7f434fb7c000 r--p 00000000 fd:00 6553744                    /usr/lib/mono/gac/System.Net.Http/4.0.0.0__b03f5f7f11d50a3a/System.Net.Http.dll
7f434fb7c000-7f434fbfc000 rw-p 00000000 00:00 0 
7f434fc00000-7f434fc76000 r--p 00000000 fd:00 6553704                    /usr/lib/mono/gac/System.Drawing/4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
7f434fc76000-7f434fe3b000 rw-p 00000000 00:00 0 
7f434fe40000-7f434fe74000 r--p 00000000 fd:00 6164539                    /usr/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/Mono.Posix.dll
7f434fe74000-7f434fef4000 rw-p 00000000 00:00 0 
7f434fef8000-7f434ff78000 rw-p 00000000 00:00 0 
7f434ff7c000-7f434fffc000 rw-p 00000000 00:00 0 
7f4350000000-7f4350021000 rw-p 00000000 00:00 0 
7f4350021000-7f4354000000 ---p 00000000 00:00 0 
7f4354000000-7f4354100000 rw-p 00000000 00:00 0 
7f435410a000-7f4354113000 r--p 00000000 fd:00 6553623                    /usr/lib/mono/gac/Mono.Messaging/4.0.0.0__0738eb9f132ed756/Mono.Messaging.dll
7f4354113000-7f435413c000 r--p 00000000 fd:00 6553638                    /usr/lib/mono/gac/Mono.WebBrowser/4.0.0.0__0738eb9f132ed756/Mono.WebBrowser.dll
7f435413c000-7f435414f000 r--p 00000000 fd:00 6553738                    /usr/lib/mono/gac/System.Messaging/4.0.0.0__b03f5f7f11d50a3a/System.Messaging.dll
7f435414f000-7f435417c000 r--p 00000000 fd:00 6164557                    /usr/lib/mono/gac/System.Security/4.0.0.0__b03f5f7f11d50a3a/System.Security.dll
7f435417c000-7f43541fc000 rw-p 00000000 00:00 0 
7f4354201000-7f4354236000 r--p 00000000 fd:00 6553816                    /usr/lib/mono/gac/System.ServiceModel.Internals/0.0.0.0__b77a5c561934e089/System.ServiceModel.Internals.dll
7f4354236000-7f4354277000 rw-p 00000000 00:00 0 
7f4354277000-7f4354295000 r--p 00000000 fd:00 6553910                    /usr/lib/mono/gac/System.Xml.Linq/4.0.0.0__b77a5c561934e089/System.Xml.Linq.dll
7f4354295000-7f4354304000 rw-p 00000000 00:00 0 
7f4354309000-7f4354312000 r--p 00000000 fd:00 6553840                    /usr/lib/mono/gac/System.Web.ApplicationServices/4.0.0.0__31bf3856ad364e35/System.Web.ApplicationServices.dll
7f4354312000-7f4354334000 r--p 00000000 fd:00 6553723                    /usr/lib/mono/gac/System.IdentityModel/4.0.0.0__b77a5c561934e089/System.IdentityModel.dll
7f4354334000-7f4354338000 rw-p 00000000 00:00 0 
7f435433c000-7f43543fc000 rw-p 00000000 00:00 0 
7f4354400000-7f4354500000 rw-p 00000000 00:00 0 
7f4354504000-7f4354508000 rw-p 00000000 00:00 0 
7f435450c000-7f4354510000 rw-p 00000000 00:00 0 
7f4354511000-7f4354514000 rw-p 00000000 00:00 0 
7f4354514000-7f435451a000 r--p 00000000 fd:00 6553667                    /usr/lib/mono/gac/System.Configuration.Install/4.0.0.0__b03f5f7f11d50a3a/System.Configuration.Install.dll
7f435451a000-7f435451c000 r--p 00000000 fd:00 6427034                    /usr/lib/mono/4.5/Facades/System.Diagnostics.Debug.dll
7f4354521000-7f4354524000 r--p 00000000 fd:00 6429039                    /usr/lib/mono/gac/Accessibility/4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
7f4354524000-7f4354528000 rw-p 00000000 00:00 0 
7f4354528000-7f4354538000 rwxp 00000000 00:00 0 
7f4354538000-7f435457c000 r--p 00000000 fd:00 6553695                    /usr/lib/mono/gac/System.Design/4.0.0.0__b03f5f7f11d50a3a/System.Design.dll
7f435457c000-7f43545fc000 rw-p 00000000 00:00 0 
7f43545fd000-7f4354609000 rw-p 00000000 00:00 0 
7f4354609000-7f4354628000 r--p 00000000 fd:00 6164554                    /usr/lib/mono/gac/System.Numerics/4.0.0.0__b77a5c561934e089/System.Numerics.dll
7f4354628000-7f435472d000 rw-p 00000000 00:00 0 
7f435472d000-7f4354779000 r--p 00000000 fd:00 6164542                    /usr/lib/mono/gac/Mono.Security/4.0.0.0__0738eb9f132ed756/Mono.Security.dll
7f4354779000-7f4354793000 r-xp 00000000 fd:00 3408980                    /lib/x86_64-linux-gnu/libz.so.1.2.8
7f4354793000-7f4354992000 ---p 0001a000 fd:00 3408980                    /lib/x86_64-linux-gnu/libz.so.1.2.8
7f4354992000-7f4354993000 r--p 00019000 fd:00 3408980                    /lib/x86_64-linux-gnu/libz.so.1.2.8
7f4354993000-7f4354994000 rw-p 0001a000 fd:00 3408980                    /lib/x86_64-linux-gnu/libz.so.1.2.8
7f4354994000-7f43549d9000 r-xp 00000000 fd:00 6164498                    /usr/lib/libMonoPosixHelper.so
7f43549d9000-7f4354bd9000 ---p 00045000 fd:00 6164498                    /usr/lib/libMonoPosixHelper.so
7f4354bd9000-7f4354bda000 r--p 00045000 fd:00 6164498                    /usr/lib/libMonoPosixHelper.so
7f4354bda000-7f4354bdb000 rw-p 00046000 fd:00 6164498                    /usr/lib/libMonoPosixHelper.so
7f4354bdb000-7f4354bdc000 rw-p 00000000 00:00 0 
7f4354bdc000-7f4354cd5000 r--p 00000000 fd:00 6164551                    /usr/lib/mono/gac/System.Core/4.0.0.0__b77a5c561934e089/System.Core.dll
7f4354cd5000-7f4354f98000 r--p 00000000 fd:00 6164545                    /usr/lib/mono/gac/System/4.0.0.0__b77a5c561934e089/System.dll
7f4354f98000-7f4355520000 r-xp 00000000 fd:00 6164525                    /usr/lib/mono/aot-cache/amd64/mscorlib.dll.so
7f4355520000-7f4355720000 ---p 00588000 fd:00 6164525                    /usr/lib/mono/aot-cache/amd64/mscorlib.dll.so
7f4355720000-7f4355721000 rw-p 00588000 fd:00 6164525                    /usr/lib/mono/aot-cache/amd64/mscorlib.dll.so
7f4355721000-7f4355747000 rw-p 00000000 00:00 0 
7f4355747000-7f4355b19000 r--p 00000000 fd:00 6164522                    /usr/lib/mono/4.5/mscorlib.dll
7f4355b19000-7f4355fff000 r--p 00000000 fd:00 2887202                    /opt/eco/EcoServer.exe
7f4355fff000-7f4356fff000 rw-p 00000000 00:00 0 
7f4356fff000-7f4357000000 ---p 00000000 00:00 0 
7f4357000000-7f4357c00000 rw-p 00000000 00:00 0 
7f4357c00000-7f4357c02000 r--p 00000000 fd:00 6427024                    /usr/lib/mono/4.5/Facades/System.Collections.dll
7f4357c02000-7f4357cb7000 rw-p 00000000 00:00 0 
7f4357cb7000-7f4357cc0000 ---p 00000000 00:00 0 
7f4357cc0000-7f4357eb8000 rw-p 00000000 00:00 0 
7f4357eb8000-7f4357ec3000 r-xp 00000000 fd:00 3408930                    /lib/x86_64-linux-gnu/libnss_files-2.19.so
7f4357ec3000-7f43580c2000 ---p 0000b000 fd:00 3408930                    /lib/x86_64-linux-gnu/libnss_files-2.19.so
7f43580c2000-7f43580c3000 r--p 0000a000 fd:00 3408930                    /lib/x86_64-linux-gnu/libnss_files-2.19.so
7f43580c3000-7f43580c4000 rw-p 0000b000 fd:00 3408930                    /lib/x86_64-linux-gnu/libnss_files-2.19.so
7f43580c4000-7f43580ce000 r-xp 00000000 fd:00 3408934                    /lib/x86_64-linux-gnu/libnss_nis-2.19.so
7f43580ce000-7f43582cd000 ---p 0000a000 fd:00 3408934                    /lib/x86_64-linux-gnu/libnss_nis-2.19.so
7f43582cd000-7f43582ce000 r--p 00009000 fd:00 3408934                    /lib/x86_64-linux-gnu/libnss_nis-2.19.so
7f43582ce000-7f43582cf000 rw-p 0000a000 fd:00 3408934                    /lib/x86_64-linux-gnu/libnss_nis-2.19.so
7f43582cf000-7f43582e4000 r-xp 00000000 fd:00 3408924                    /lib/x86_64-linux-gnu/libnsl-2.19.so
7f43582e4000-7f43584e3000 ---p 00015000 fd:00 3408924                    /lib/x86_64-linux-gnu/libnsl-2.19.so
7f43584e3000-7f43584e4000 r--p 00014000 fd:00 3408924                    /lib/x86_64-linux-gnu/libnsl-2.19.so
7f43584e4000-7f43584e5000 rw-p 00015000 fd:00 3408924                    /lib/x86_64-linux-gnu/libnsl-2.19.so
7f43584e5000-7f43584e7000 rw-p 00000000 00:00 0 
7f43584e7000-7f43584ee000 r-xp 00000000 fd:00 3408926                    /lib/x86_64-linux-gnu/libnss_compat-2.19.so
7f43584ee000-7f43586ed000 ---p 00007000 fd:00 3408926                    /lib/x86_64-linux-gnu/libnss_compat-2.19.so
7f43586ed000-7f43586ee000 r--p 00006000 fd:00 3408926                    /lib/x86_64-linux-gnu/libnss_compat-2.19.so
7f43586ee000-7f43586ef000 rw-p 00007000 fd:00 3408926                    /lib/x86_64-linux-gnu/libnss_compat-2.19.so
7f43586ef000-7f4358890000 r-xp 00000000 fd:00 3408885                    /lib/x86_64-linux-gnu/libc-2.19.so
7f4358890000-7f4358a90000 ---p 001a1000 fd:00 3408885                    /lib/x86_64-linux-gnu/libc-2.19.so
7f4358a90000-7f4358a94000 r--p 001a1000 fd:00 3408885                    /lib/x86_64-linux-gnu/libc-2.19.so
7f4358a94000-7f4358a96000 rw-p 001a5000 fd:00 3408885                    /lib/x86_64-linux-gnu/libc-2.19.so
7f4358a96000-7f4358a9a000 rw-p 00000000 00:00 0 
7f4358a9a000-7f4358ab0000 r-xp 00000000 fd:00 3408904                    /lib/x86_64-linux-gnu/libgcc_s.so.1
7f4358ab0000-7f4358caf000 ---p 00016000 fd:00 3408904                    /lib/x86_64-linux-gnu/libgcc_s.so.1
7f4358caf000-7f4358cb0000 rw-p 00015000 fd:00 3408904                    /lib/x86_64-linux-gnu/libgcc_s.so.1
7f4358cb0000-7f4358cc8000 r-xp 00000000 fd:00 3408949                    /lib/x86_64-linux-gnu/libpthread-2.19.so
7f4358cc8000-7f4358ec7000 ---p 00018000 fd:00 3408949                    /lib/x86_64-linux-gnu/libpthread-2.19.so
7f4358ec7000-7f4358ec8000 r--p 00017000 fd:00 3408949                    /lib/x86_64-linux-gnu/libpthread-2.19.so
7f4358ec8000-7f4358ec9000 rw-p 00018000 fd:00 3408949                    /lib/x86_64-linux-gnu/libpthread-2.19.so
7f4358ec9000-7f4358ecd000 rw-p 00000000 00:00 0 
7f4358ecd000-7f4358ed0000 r-xp 00000000 fd:00 3408898                    /lib/x86_64-linux-gnu/libdl-2.19.so
7f4358ed0000-7f43590cf000 ---p 00003000 fd:00 3408898                    /lib/x86_64-linux-gnu/libdl-2.19.so
7f43590cf000-7f43590d0000 r--p 00002000 fd:00 3408898                    /lib/x86_64-linux-gnu/libdl-2.19.so
7f43590d0000-7f43590d1000 rw-p 00003000 fd:00 3408898                    /lib/x86_64-linux-gnu/libdl-2.19.so
7f43590d1000-7f43590d8000 r-xp 00000000 fd:00 3408955                    /lib/x86_64-linux-gnu/librt-2.19.so
7f43590d8000-7f43592d7000 ---p 00007000 fd:00 3408955                    /lib/x86_64-linux-gnu/librt-2.19.so
7f43592d7000-7f43592d8000 r--p 00006000 fd:00 3408955                    /lib/x86_64-linux-gnu/librt-2.19.so
7f43592d8000-7f43592d9000 rw-p 00007000 fd:00 3408955                    /lib/x86_64-linux-gnu/librt-2.19.so
7f43592d9000-7f43593d9000 r-xp 00000000 fd:00 3408915                    /lib/x86_64-linux-gnu/libm-2.19.so
7f43593d9000-7f43595d8000 ---p 00100000 fd:00 3408915                    /lib/x86_64-linux-gnu/libm-2.19.so
7f43595d8000-7f43595d9000 r--p 000ff000 fd:00 3408915                    /lib/x86_64-linux-gnu/libm-2.19.so
7f43595d9000-7f43595da000 rw-p 00100000 fd:00 3408915                    /lib/x86_64-linux-gnu/libm-2.19.so
7f43595da000-7f43595fb000 r-xp 00000000 fd:00 3408867                    /lib/x86_64-linux-gnu/ld-2.19.so
7f43595fb000-7f43595fc000 rw-p 00000000 00:00 0 
7f43595fd000-7f4359603000 rw-p 00000000 00:00 0 
7f4359603000-7f4359605000 r--p 00000000 fd:00 6427093                    /usr/lib/mono/4.5/Facades/System.Runtime.Extensions.dll
7f4359605000-7f4359607000 r--p 00000000 fd:00 6427090                    /usr/lib/mono/4.5/Facades/System.Resources.ResourceManager.dll
7f4359607000-7f4359620000 r--p 00000000 fd:00 6553717                    /usr/lib/mono/gac/System.IO.Compression/4.0.0.0__b77a5c561934e089/System.IO.Compression.dll
7f4359620000-7f4359624000 r--p 00000000 fd:00 6427103                    /usr/lib/mono/4.5/Facades/System.Runtime.dll
7f4359624000-7f4359630000 rw-p 00000000 00:00 0 
7f4359630000-7f4359632000 r--p 00000000 fd:00 6427141                    /usr/lib/mono/4.5/Facades/System.Threading.dll
7f4359632000-7f4359634000 r--p 00000000 fd:00 6427047                    /usr/lib/mono/4.5/Facades/System.Globalization.dll
7f4359634000-7f435963c000 rw-p 00000000 00:00 0 
7f435963c000-7f435965a000 r--p 00000000 fd:00 6164548                    /usr/lib/mono/gac/System.Configuration/4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
7f435965a000-7f4359790000 rw-p 00000000 00:00 0 
7f4359790000-7f43597ef000 ---p 00000000 00:00 0 
7f43597ef000-7f43597f5000 rw-p 00000000 00:00 0 
7f43597f5000-7f43597f7000 rw-p 00000000 00:00 0 
7f43597f7000-7f43597f8000 rw-s 00000000 00:1a8 3                         /dev/shm/mono.9
7f43597f8000-7f43597fa000 rw-p 00000000 00:00 0 
7f43597fa000-7f43597fb000 r--p 00020000 fd:00 3408867                    /lib/x86_64-linux-gnu/ld-2.19.so
7f43597fb000-7f43597fc000 rw-p 00021000 fd:00 3408867                    /lib/x86_64-linux-gnu/ld-2.19.so
7f43597fc000-7f43597fd000 rw-p 00000000 00:00 0 
7fff19cef000-7fff19cf7000 ---p 00000000 00:00 0 
7fff1a4cd000-7fff1a4ee000 rw-p 00000000 00:00 0                          [stack]
7fff1a52e000-7fff1a531000 r--p 00000000 00:00 0                          [vvar]
7fff1a531000-7fff1a533000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]

Native stacktrace:

        mono() [0x4c4841]
        mono() [0x53a680]
        mono() [0x5c58c8]
        [0x7f4340394580]

Debug info from gdb:

mono_gdb_render_native_backtraces not supported on this platform, unable to find gdb or lldb

=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

Aborted (core dumped)

@stevepraski
Copy link
Author

Does not seem to work with 0.7.8.6. Would be nice if you could investigate!

root@22085c932733:/opt/eco# mono EcoServer.exe -nogui
[12:35:35] Eco Server 0.7.8.6 beta
Aborted (core dumped)

Probably because of the many typos that I made when I updated the guide, you probably accidentally used the regular mono docker image, which has mono 5.16, which definitely crashes Eco server shortly after starting. You need to use the mono 5.14 docker image instead, so just use mono:5.14 when calling the mono docker image. Coincidentally, I just made a couple of proof of concept Vagrant box recipes that build Eco servers (one by installing mono by scratch (not recommended --- it takes forever), and one with docker via a bootstrap script), and I'll probably make a dedicated code repository for it at some point.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment