Debian has been my goto for many years, but today I decided to give Amazon Linux 2 AMI a try. I was a CentOS bigot years ago, but since Debian 5/6 have never looked back, until now that is. Not only does ServUO run very well, but the server CPU and Memory usage seems to be less under the same load. This is great news for free tier users, as they can have a pretty decent server courtesy of Amazon AWS. This time, I've created a Power Point presentation and saved it as a PDF. For your convenience, I've also pasted the commands from the presentation below as it may be easier to copy/paste from here than from the document. I'm also hoping to make a few videos aimed at helping newcomers to get started.

For Amazon Linux, the default user name is "uc2-user" (as opposed to "admin" for other distros)

First login, do an update / upgrade
Code:
sudo yum update
Code:
sudo yum upgrade

Setup Swap
Code:
sudo dd if=/dev/zero of=/swapfile bs=128M count=32
Code:
sudo chmod 600 /swapfile
Code:
sudo mkswap /swapfile
Code:
sudo swapon /swapfile
Code:
sudo swapon -s

Install Prerequisites and DotNet 5.0
Code:
sudo yum install gnupg ca-certificates ntp htop net-tools screen unzip mlocate
Code:
sudo yum groupinstall "Development Tools"
Code:
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
Code:
sudo yum install aspnetcore-runtime-5.0
Code:
sudo yum install dotnet-sdk-5.0
Code:
. /etc/profile.d/dotnet-cli-tools-bin-path.sh
Code:
sudo amazon-linux-extras install mono

Note: This is for new users, if you know how to use Git then do that instead
Code:
wget https://github.com/ServUO/ServUO/archive/refs/heads/master.zip
Code:
unzip master.zip
Code:
cd ServUO-master/
Code:
dotnet build

Now, connect with WinSCP and upload uo_files (or however you want to add the files) and edit DataPath.cfg and other files.

Enter a screen, one final check with chown, then launch server
Code:
screen
Code:
sudo chown -R ec2-user:ec2-user /home/ec2-user/ServUO-master
Code:
mono ServUO.exe

Create your admin account. To disconnect from screen press <crtl> + a d
...and to reconnect next time you login to the server: screen -r
Amazon Linux ServUO shard is available in test mode for anyone interested: 52.70.214.201 2593
 

Attachments

  • ServUO on AWS.pdf
    2.7 MB · Views: 41
Last edited:
.net framework 4.8 is windows only so it won't work on linux. You need to use mono.

Did that, used these instructions to install mono-devel stable release of 6.12.0 Stable (6.12.0.199):

And when I used the command mono --version, I get this:
Mono JIT compiler version 6.12.0.200 (tarball Tue Jul 11 21:37:50 UTC 2023)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS: __thread
SIGSEGV: altstack
Notifications: epoll
Architecture: amd64
Disabled: none
Misc: softdebug
Interpreter: yes
LLVM: yes(610)
Suspend: hybrid
GC: sgen (concurrent by default)

And I am still getting this error:
/usr/share/dotnet/sdk/7.0.403/Microsoft.Common.CurrentVersion.targets(1241,5): error MSB3644: The reference assemblies for .NETFramework,Version=v4.8 were not found. To resolve this, install the Developer Pack (SDK/Targeting Pack) for this framework version or retarget your application. You can download .NET Framework Developer Packs at .NET SDKs downloads for Visual Studio [/home/jburns/ServUO_Test/Ultima/Ultima.csproj]
/usr/share/dotnet/sdk/7.0.403/Microsoft.Common.CurrentVersion.targets(1241,5): error MSB3644: The reference assemblies for .NETFramework,Version=v4.8 were not found. To resolve this, install the Developer Pack (SDK/Targeting Pack) for this framework version or retarget your application. You can download .NET Framework Developer Packs at .NET SDKs downloads for Visual Studio [/home/jburns/ServUO_Test/Server/Server.csproj]
 
Apparently I didn't get it fixed. Oh yes, I am running Linux, command line only.

I followed ServUO's github page about installing sdk7, which installed, tried installing .netframework4.8.1 from various sources of tutorials, which is not happening because each file wants to open a window to finish installing the file, but since I am installing it from the command line, it freezes and never opens the window.

So once again, I got this error when compiling:
/usr/share/dotnet/sdk/8.0.100-rc.2.23502.2/Microsoft.Common.CurrentVersion.targets(1241,5): error MSB3644: The reference assemblies for .NETFramework,Version=v4.8 were not found. To resolve this, install the Developer Pack (SDK/Targeting Pack) for this framework version or retarget your application. You can download .NET Framework Developer Packs at .NET SDKs downloads for Visual Studio [/home/jburns/ServUO/Ultima/Ultima.csproj]
 
Last edited:
great, so servuo might have just out built themselves from the client. GREAT!
This is due to this: Ubuntu mono doesn't support langversion 7.3. · Issue #5069 · ServUO/ServUO

Replace 7.3 with latest.

However, in the free instance of AWS, when teleporting, using a ship, or doing anything that requires many items to update, the client gets stuck forever. Any idea? It seems that it may be too weak to host ServUO.
Did that, replaced with . . .
AppendCompilerOption(ref sb, "/langversion:8.0.100"); /*7.3*/

still will not compile, same error.
 
Last edited:
Back