This Server is running a different version of the game - I own the server!

I’m setting up a server for my son and his friends to play Unturned.

I have created a ‘server account’ with Steam which will be used on the server - not for any of the players.
I created a Ubuntu 16.04 VPS with a public IP
I followed the directions from: Reddit Guide to Ubuntu Unturned Server
I varied from the instructions by installing (also) mono-complete since an error message in one of my attempts resulted in me finding a direction to install the full package.

The install seems to complete correctly and update - there is a message that the workqueue isn’t empty, but googling tells me that’s OK.

Upon startup of the Server I see a few messages:

At the beginning, this shows up:
Steam: diff: /root/Rocket/Scripts/…//Unturned_Data/Plugins/x86/steamclient.so: No such file or directory
cp: cannot create regular file ‘/root/Rocket/Scripts/…//Unturned_Data/Plugins/x86/steamclient.so’: No such file or directory
UPDATING

WARNING: The runtime version supported by this application is unavailable.
Using default runtime: v4.0.30319
Rocket Unturned v4.9.3.0 for Unturned v3.30.3.4

Googling leads me to believe that this is OK. It tells me also that I’m running Unturned 3.30.3.4

At the end of the startup, I get this message:

System.SystemException: Error running gmcs: Cannot find the specified file
at Mono.CSharp.CSharpCodeCompiler.CompileFromFileBatch (System.CodeDom.Compiler.CompilerParameters options, System.String fileNames) [0x00000] in :0
at Mono.CSharp.CSharpCodeCompiler.CompileAssemblyFromFileBatch (System.CodeDom.Compiler.CompilerParameters options, System.String fileNames) [0x00000] in :0
at Mono.CSharp.CSharpCodeCompiler.CompileAssemblyFromFile (System.CodeDom.Compiler.CompilerParameters options, System.String fileName) [0x00000] in :0
at System.Xml.Serialization.XmlSerializer.GenerateSerializers (System.Xml.Serialization.GenerationBatch batch, System.CodeDom.Compiler.CompilerParameters cp) [0x00000] in :0
at System.Xml.Serialization.XmlSerializer.RunSerializerGeneration (System.Object obj) [0x00000] in :0
Steam servers ready!

Which, for better or worse, tells me the Server is running.

The client and Server both have 3.30.3.4 running.

When I attempt to join the server from a client, I get the dreaded message:

This server is running a different version of the game:

And, of course, it boots the player out.

I’ve wiped the VPS and installed Rocket/Unturned several times using both 16.04 and 14.x of Ubuntu.

If there is a better guide, I’ll use it, but my son and his friends are beginning to think Dad’s got no game. Dad is beginning to think this isn’t worth the effort.

Help?

Andrew

On a mobile device atm, but that guide is a bit outdated with the release of the Unturned Dedicated Server app. Can you cross-compare what dependencies you’ve already installed with the guide at https://wiki.smartlydressedgames.com/wiki/Linux_dedicated_server?

Mono is not a requirement anymore, and neither is RocketMod (unless you plan on sending commands through the console). In place of downloading Unturned (AppID 304930), you download Unturned Dedicated Server (AppID 1110390).

The latest version of the game is 3.30.3.4, and there really shouldn’t be any reason it’d give you that message if both the server and the client are on the same version. I’d suggest just trying to reboot the server too, regardless of if you could find any differences between the dependencies required by the two guides.

2 Likes

Thank you!
Using those directions my son now has a running server. He’s apparently getting 100 fps and is thrilled. A bunch of people have already found the server and are playing alongside his group.

Two questions about the install per the directions.

  1. Does the game auto-save so that a restart using the same servername will resume? If not, how does one enable saves? I don’t have RocketMod installed at this time (any reason to change this?)

  2. He says third person isn’t working. I found Commands.dat which is apparently the file to edit (per my googling). While the server was running, this file appears empty. I added a line Perspective Both and saved. I haven’t restarted the server and the edit has had no effect.

Do I need to restart, did I edit the right file or mess something up? If the game isn’t saving, I don’t want to restart - he cays ‘it’s just a quality of life thing’. .

Thanks so much for the help. It’s great to have a 13 year old who is happy with his Dad.

Andrew

4 Likes

When you make changes to the Commands.dat, the server must be restarted for the changes to go in effect. I was going to suggest just manually saving and then rebooting the server, but I don’t think that’s possible since RocketMod wasn’t installed.

This is my fault, as I didn’t think about it until now, but the manual save command is normally entered through the console and since the console code doesn’t have proper Linux support yet I don’t believe it’ll let you type save into the console to save the server. It completely slipped my mind that manual saving takes place through the console, so I didn’t think to emphasize the importance of installing RocketMod.

I’m going to have to suggest installing RocketMod. I’m sorry, that’s completely just due to my own negligence.

The game doesn’t auto-save. However, RocketMod does allow for it (and since you’re using Linux, it is currently required if you wish to use the console, which is required for stuff like manually saving the server).

If I recall correctly, with RocketMod you can add the line <AutomaticSave Enabled="true" Interval="1800" /> to the Rocket.Unturned.config.xml file and it should auto-save. I would assume that the interval is in seconds, and I’d suggest testing it with a lower number (i.e., 60) just to make sure it works. If it doesn’t, then there appears to be a plugin that allows for auto-saving too.

You can technically save from in-game, without the console, but that’s only possible if you had given a player admin privileges on the server. I don’t think you did, but if you had they could type /save in chat to save the server. If you wanted to admin somebody, you can either do so from the console (if you decide to install RocketMod), or you can do it from the Adminlist.dat file but then you have to restart the server.



Server Commands

I’m sorry, it completely skipped my mind that saving would be a pretty important thing. I’m going to suggest installing RocketMod just because it’ll likely just end up being a huge convenience in the long-run, and having access to the console can just make things like this much less of a hassle moving forward for you. That being said, you don’t have to restart the server at all if you don’t want to, but the server will never save and you won’t be able to make any changes to it at all.

If for whatever reason you feel the need to spawn items or vehicles to make up for any losses from having to restart the server without saving, you can do so with the give and vehicle commands if cheats are enabled.

Some commands can only be used in the console, some can only be added to the Commands.dat, and some can be used in both. Here is the full list of commands:

Admin [SteamID | Player]
Admins
Airdrop
AllowP2PRelay
Animal [SteamID | Player]/[AnimalID]
Ban [SteamID | Player]/[Reason]/[Duration]
Bans
Bind [IP]
Chatrate [Number]
Cheats
Cycle [Number]
Day
Debug
EffectUI [EffectID]
Experience [SteamID | Player]/[Experience]
Filter
Flag [SteamID | Player]/[Flag]/[Value]
GameMode [Class Name]
Give [SteamID | Player]/[ItemID]/[Amount]
Gold
Help [Command]
Hide_Admins
Kick [SteamID | Player]/[Reason]
Kill [SteamID | Player]
Loadout [SkillsetID]/[ItemID]/[ItemID]/...
Log [Chat Y/N]/[Join/Leave Y/N]/[Death Y/N]/[Anticheat Y/N].
Map [Level]
MaxPlayers [Number]
Mode [Easy | Normal | Hard]
Modules
Name [Text]
Night
Owner [SteamID]
Password [Text]
Permit [SteamID]/[Tag]
Permits
Perspective [First | Third | Both | Vehicle]
Players
Port [Number]
PvE
Quest [SteamID | Player]/[Quest]
Queue_Size [Number]
Reputation [SteamID | Player]/[Reputation]
ResetConfig
Save
Say [Text]/[R]/[G]/[B]
Shutdown [Delay]/[Explanation]
Slay [SteamID | Player]/[Reason]
Spy [SteamID | Player]
Sync
Teleport [SteamID | Player]/[SteamID | Player | Location]
Time [Number]
Timeout [Number]
Unadmin [SteamID | Player]
Unban [SteamID]
Unpermit [SteamID]
Vehicle [SteamID | Player]/[VehicleID]
Votify [Vote Allowed Y/N]/[Pass Cooldown]/[Fail Cooldown]/[Vote Duration]/[Vote Percentage]/[Players]
Weather [None | Storm | Blizzard]
Welcome [Text]/[R]/[G]/[B]
Whitelisted

Only a few of these will be immediately important to you.

Owner

If there is a Steam account that can join the server and you wish to be recognized as “the owner” (basically just grants admin permissions), then you can add that command to the Commands.dat.

Map

This sets the map that the server loads on startup. If no map is specified, or there is an error in loading the map, then the server defaults to PEI (Prince Edward Island). This must be done in the Commands.dat.

Cheats

By adding Cheats to the Commands.dat, the server has cheats enabled in the console and for anyone who is an admin or the server owner. Not all commands are considered cheats (for example, teleporting and saving the server), but stuff like spawning items and vehicles is.

Name

This affects the name given to the server as it appears in the global server list. It is Commands.dat-specific.

Port

This command is Commands.dat-specific, and is used if the default port for the server is not 27015. It sounds like your server is running perfectly fine without having set it, and I assume that’s due to 27015 being port forwarded by default. If an issue comes up with the server not being ported properly, you can add Port 27015 to the Commands.dat, and then port forward on your router 27015, 27016, and 27017.

Save

Used for manually saving the server.

Mode

Used for setting the game’s difficulty mode. Commands.dat-specific.

Help

Console-specific. It will show you a list of all the commands and the proper syntax for them. Doing something like Help [Command] will explain what that command does.

Admin

Allows for giving a player admin permissions via the console.



I believe that’s everything essential. If you have any further questions, please let me know.

2 Likes

Given my earlier attempts to do an install from HowTos’s failed so miserably, what’s the best guide to install and configure RocketMod to an installed/working server running 16.04 Ubuntu?

I really don’t want to screw up the server and have to start from scratch (although he and his friends will).

Andrew

As far as installing RocketMod 4 goes, just unzip Rocket.zip from

https://ci.rocketmod.net/job/Rocket.Unturned/lastSuccessfulBuild/artifact/Rocket.Unturned/bin/Release/Rocket.zip

Into the root of the folder (normally called U3DS, and is where the Maps folder, Servers folder, Modules folder, etc. are). Make sure the SH scripts have the right permissions chmod +x Scripts/*.sh. Running the script should create all the necessary folders for RocketMod.

The server (up to now) is supposedly Vanilla, which is what my son and friends all wanted. I’m hoping the Rocket install doesn’t give the dreaded ‘This server is running a different version of the game:’ message.

I unzipped the Rocket.zip file.

I now have a few .sh files
/root contains update and start which I have used until now
/root/unturned contains ServerHelper.sh
/root/unturned/Scripts/Linux - update.sh and start.sh

The start.sh file (now found in …/Scripts/Linux) contains the line:

export MONO_IOMAP=all

I installed mono-complete.

So, did unzipping the files actually add all the bits and pieces to automagically allow auto-save, etc. or is there more that I need to do?

Modules now has a Rocket.Unturned file in it (again, hoping to stay Vanilla) for example.

So, what do I add/delete or run now to get autosave to work/run Rocket and stay Vanilla?

Thanks so much for the help.

Andrew

If you have ran the server after having unzipped the Rocket.zip file, then the necessary files would’ve been generated and you’d just need to refer back to this:

Nothing else should be necessary.


I am assuming that your son just doesn’t want any Steam Workshop mods installed.

RocketMod is a plugin framework that allows installing plugins, but you should be able to have the server auto-save with just RocketMod (and plugins aren’t necessarily vanilla either).

happened to me too

1 Like

Created a ‘screen -S Unturned’
started Unturned
The game now has my son as Admin, has a password, has Perspective set to Both And (drum roll please) …
autosaves! (or claims to)

Thanks for all the help and expertise.

Andrew

1 Like

If I may, you can always just use a cronjob to fo that. But yeah, RocketMod is just much more conevnient plus adds a whole bucnh of neat features.

The cronjob would require being able to make inputs into the console. Since he had to install RocketMod anyways (for the console), this is more efficient. Otherwise I’d agree.

Hopefully, the console code won’t be Windows-only in the future, but it’s likely not high-priority.

1 Like

Assuming it does the autosave correctly - he doesn’t want to restart the machine to check - I’m happy. I need to set up a start script on boot to open a screen session and run the start.sh script.

I’m no longer even sure what OS I ended up with on the VPS . So I need to check that and figure out where to drop a bash script. Then I’ll be up and running on each reboot (hopefully my VPS provider is stable enough that this is a rare occurrence).

Thanks guys.

Andrew

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.