Hi there,

I am trying to compile ServUO 57.3 on Linux but no success. My system:
  • Linux Mint 21.2
  • Mono 6.8.0.105
  • Dotnet 7.0.110
  • ServUO 57.3
Using "make" works, a file "ServUO.exe" is created, but it doesn't run. Output is below.

ServUO pub 58 compile whitout issues, but it's a work in progress and is just a branch right now.

fail to compile:
$ make -j12
mcs -target:library -out:`pwd`/Ultima.dll -r:System.Drawing.dll -nowarn:0618,0219,0414,1635 -d:MONO -d:ServUO -d:NEWTIMERS -nologo -optimize -unsafe -recurse:`pwd`/Ultima/*.cs
rm -f ServUO.sh
rm -f ServUO.exe
rm -f ServUO.exe.mdb
rm -f Ultima.dll
rm -f Ultima.dll.mdb
rm -f *.bin
mcs -win32icon:`pwd`/Server/servuo.ico -r:`pwd`/Ultima.dll,System.Drawing.dll -nowarn:0618,0219,0414,1635 -target:exe -out:`pwd`/ServUO.exe -d:MONO -d:ServUO -d:NEWTIMERS -nologo -optimize -unsafe -recurse:`pwd`/Server/*.cs
echo "#!/bin/sh" > `pwd`/ServUO.sh
echo "mono `pwd`/ServUO.exe" >> `pwd`/ServUO.sh
chmod a+x `pwd`/ServUO.sh
sed -i.bak -e 's/<!--//g; s/-->//g' ServUO.exe.config
`pwd`/ServUO.sh
ServUO - [https://www.servuo.com] Version 0.5, Build 8623.23592 - Build on 11/08/2023 13:06:24 UTC - Release
Core: Running with arguments: -noconsole
Core: Optimizing for 12 64-bit processors
Core: Unix environment detected
Core: Compiled for MONO and running on 6.8.0.105 (Debian 6.8.0.105+dfsg-3.2 Wed Jun 30 05:34:49 UTC 2021)
RandomImpl: SimpleRandom (Software)
Core: Loading config...
Scripts: Compiling C# scripts...Error:
System.Exception: Compiler failed to produce the assembly. Output: ''
  at Microsoft.CSharp.CSharpCodeGenerator.FromFileBatch (System.CodeDom.Compiler.CompilerParameters options, System.String[] fileNames) [0x0035e] in <a85c1a570f9a4f9f9c3d2cfa5504e34f>:0
  at Microsoft.CSharp.CSharpCodeGenerator.System.CodeDom.Compiler.ICodeCompiler.CompileAssemblyFromFileBatch (System.CodeDom.Compiler.CompilerParameters options, System.String[] fileNames) [0x00047] in <a85c1a570f9a4f9f9c3d2cfa5504e34f>:0
  at System.CodeDom.Compiler.CodeDomProvider.CompileAssemblyFromFile (System.CodeDom.Compiler.CompilerParameters options, System.String[] fileNames) [0x00006] in <a85c1a570f9a4f9f9c3d2cfa5504e34f>:0
  at Server.ScriptCompiler.CompileCSScripts (System.Boolean debug, System.Boolean cache, System.Reflection.Assembly& assembly) [0x001d9] in <70c9aea6376a483a8d29a26fde83c95f>:0
  at Server.ScriptCompiler.Compile (System.Boolean debug, System.Boolean cache) [0x00034] in <70c9aea6376a483a8d29a26fde83c95f>:0
  at Server.Core.Main (System.String[] args) [0x00624] in <70c9aea6376a483a8d29a26fde83c95f>:0
This exception is fatal, press return to exit

Killed
make: *** [Makefile:19: run] Erro 137

EDIT: this tutorial is not working too.
 
Last edited:
I read the above link carefully.
but I also got the same error.

My System:
Ubuntu 22.0.4.1 and 23.04
mono 6.8.0.105
ServUO Pub57 branch

What Should I Do?
 
Last edited:
ServUO R57 tag 57.2 seems to work fine!
So Linux and macOS users may use this version.
I think the new ScriptCompiler version has some issues.
 
We are on the case.. well Pyro is.. was yesterday for a couple of hours.

We worked on it yesterday and we've found Mono doesn't support C# 7.3, only 7.2.

Line 71 in Server/ScriptCompiler.cs

Change the version for 7.2 and try compiling it.

If you use anything above 7.2 in your coding, like
C#:
if (myVar is null)
    return;

It won't go through.

We found that csc compiler could compile and run because it's supporting C# 7.3 but nobody know yet how to use it with the script compiler of ServUo.

More to come.. I hope!
 
dotnet build is not exactly the same, one uses net and the other uses mono.

7.2 works or experimental, which is almost 7.3
 
hey guys, long time no see.
I've checked mono git, but it seems like suspended since 2021?
and it doesn't support 4.8 version of .net framework.
as YUKIMIMI said like that, it requires to run with 57.2 which is compile with 4.7 of .net framework.

GL!
 
57.3 also compiles to 7.2

And if you set the version like mentioned above, you may get some of the C# 7.3 features, but not all
 
Back