Headless Linux Server?
I have gotten the server to work on Linux using Mono without wine. .
Of course, there's some issues, but it seems to be working.
erinarbleizez last edited by
it's still missing VOLUME to keep the generated world outside of the docker to keep it after a reboot but it's a start feel free to improve it :)
Kakoen last edited by
I tried to create an updated headless server with mono in Docker for Alpha 4. The headless part isn't a problem so far, but I get a MissingMethodException:
[ERROR] FATAL UNHANDLED EXCEPTION: System.MissingMethodException: Method 'LegendCollection.Add' not found.
To reproduce, execute the following commands on a docker-enabled linux machine, starting in the path where the Dockerfile is located:
docker build -t eco .
docker run eco
have you installed mono-complete? @Metrotyranno is thus far the expert with running with linux - anything to add?
Kakoen last edited by
@Metachronism Thank you for the suggestion. I have tried mono-complete as well. Same error.
Metrotyranno last edited by Metrotyranno
@Metachronism He's using the GUI which is the likely cause, Servers I run are guiless. (with the -nogui flag)
Worth a shot to rule out the gui, boot the server with the -nogui flag.
Kakoen last edited by Kakoen
@Metrotyranno Thank you! That was indeed the part I missed!
Is this documented anywhere? I couldn't find server configuration documentation, nor is there a -h /h /? -? --help switch for EcoServer.exe to show command line usage.
Anyway, here's an updated Dockerfile for those who want to try it themselves:
To run the server, fire up a console in the same directory as this Dockerfile:
docker build -t ecoserver:0.4.1 .
docker run -d -p 2999:2999 -p 3000:3000 -p 3001:3001 -v /data/ecoserver:/eco/Storage --name ecoserver ecoserver:0.4.1
This starts a new ecoserver, with the world data stored at /data/ecoserver.
Now the next step is to provide some config variables (like server name, world size, game rules, public server flag) to a script that modifies the configuration files. I'm already happy the server runs, so the generated server name 'ed037560592e' is fine for now :)
In the end, I wanted to try exposing the server configuration interface with a VNC server (similar to this, where they run a Firefox container to which you can connect with VNC). But I guess the error that I encountered earlier means mono and .Net GUI libraries are incompatible so I wonder if that will ever be possible.
dont think there is currently a documentation .. but would like help from those who have linux and mac and some good knowledge to help me create documentation and tutorial for those things and put it up on the wiki. (preferable with images)
Metrotyranno last edited by
But I guess the error that I encountered earlier means mono and .Net GUI libraries are incompatible so I wonder if that will ever be possible.
It is possible, but mono is incomplete. The right functions and workarounds need to be used.
The frontend for the server right now is intended to eventually be completely replaced with a web-based interface into the server, so I wouldn't spend a huge amount of time trying to figure that part out.