У меня проблема с моно запуском TerrariaServer на моем VPS. Я установил моно-среду выполнения и все «необходимые» пакеты, например:
$ sudo apt-get install -f mono-runtime
Затем я создал папку в / home каталоге, чтобы сохранить там конфигурацию игрового сервера
$ mkdir terraria_server && cd terraria_server
Затем я Я скачал последнюю версию сервера TShock и распаковал его
$ wget https://github.com/Pryaxis/TShock/releases/download/v4.3.25/tshock_4.3.25.zip
$ unzip tshock_4.3.25.zip
И после всего этого я хотел запустить его с моно
$ sudo mono TerrariaServer.exe
Но у меня есть эта ошибка
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)
Это моя папка на сервере - я думаю, что она должна работать нормально, потому что у меня там есть «OTAPI.dll».
thetanadu@thetanadu:~/terraria_server$ ls -a
. GeoIP.dat OTAPI.dll sqlite3.dll tshock_4.3.25.zip
.. Newtonsoft.Json.dll ServerPlugins TerrariaServer.exe
Я знаю, что библиотеки exe и dll предназначены для windows, но mono должен эмулировать эту среду - верно?
Редактировать - я установил пакет «mono-complete» и начал работать как charm: D, вероятно, последний моно не имеет ничего важного :)