Eu tenho problema com a inicialização mono com TerrariaServer no meu vps. Eu instalei o mono-runtime e todos os pacotes "obrigatórios" como este:
$ sudo apt-get install -f mono-runtime
Então eu fiz a pasta no diretório / home para salvar a configuração do servidor do jogo
$ mkdir terraria_server && cd terraria_server
Então eu baixei a versão mais recente do servidor TShock e o uzip
$ wget https://github.com/Pryaxis/TShock/releases/download/v4.3.25/tshock_4.3.25.zip
$ unzip tshock_4.3.25.zip
E depois de tudo eu queria começar com mono
$ sudo mono TerrariaServer.exe
Mas eu tenho esse erro
Can't find custom attr constructor image:
/home/thetanadu/terraria_server/OTAPI.dll mtoken: 0x0a000085 Unhandled
loader error: 8, (null) System.Core, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089 (null)
* Assertion: should not be reached at loader.c:298
Stacktrace:
at <unknown> <0xffffffff> at OTAPI.Shims.TShock.Program.Main
(string[]) <0x0008b> at (wrapper runtime-invoke)
<Module>.runtime_invoke_void_object (object,intptr,intptr,intptr)
<0xffffffff>
Native stacktrace:
mono() [0x49ff2f]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x11390) [0x7f975d676390]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38) [0x7f975d2d0428]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x16a) [0x7f975d2d202a]
mono() [0x630409]
mono() [0x63069c]
mono() [0x630833]
mono() [0x54357a]
mono(mono_class_from_typeref_checked+0x223) [0x524c63]
mono() [0x5234ad]
mono() [0x560fb4]
mono() [0x561354]
mono(mono_metadata_parse_type+0x18) [0x5616a8]
mono() [0x560e73]
mono() [0x561354]
mono(mono_metadata_parse_mh_full+0x1f8) [0x561e18]
mono() [0x433fd6]
mono() [0x500b39]
mono() [0x501fbd]
mono() [0x425db6]
mono() [0x426749]
mono(mono_runtime_invoke+0x3d) [0x5ac68d]
mono() [0x5acace]
mono() [0x461fc5]
mono() [0x500b39]
mono() [0x501fbd]
mono() [0x425db6]
mono() [0x42634b]
mono() [0x4a11b1]
[0x40e3517d]
Debug info from gdb:
=================================================================
Got a SIGABRT 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)
Esta é a minha pasta no servidor - eu acho que deve funcionar bem, porque eu tenho que "OTAPI.dll" lá.
thetanadu@thetanadu:~/terraria_server$ ls -a
. GeoIP.dat OTAPI.dll sqlite3.dll tshock_4.3.25.zip
.. Newtonsoft.Json.dll ServerPlugins TerrariaServer.exe
Eu sei que as bibliotecas exe e dll são para windows, mas o mono deve emular esse ambiente - certo?
Edit - Eu instalei o pacote "mono-complete" e comecei a trabalhar como charme: D provavelmente o mais recente mono não tem algo importante :)