ServUO Version
Publish 58
Ultima Expansion
Endless Journey
Hi guys,

I was marking a few running in Tokuno when the server crashed... Below the log.


Server Crash Report
===================

ServUO Version 0.5, Build 8506.31119
Operating System: Microsoft Windows NT 10.0.19044.0
.NET Framework: 4.0.30319.42000
Time: 4/19/2023 12:57:23 AM
Mobiles: 42740
Items: 207760
Exception:
System.IO.IOException: The process cannot access the file 'C:\Users\orpy8\OneDrive\Desktop\My Server\Saves\Mobiles\Mobiles.bin' because it is being used by another process.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
at Server.BinaryFileWriter..ctor(String filename, Boolean prefixStr) in C:\Users\orpy8\OneDrive\Desktop\My Server\Server\Serialization.cs:line 223
at Server.StandardSaveStrategy.SaveMobiles(SaveMetrics metrics) in C:\Users\orpy8\OneDrive\Desktop\My Server\Server\Persistence\StandardSaveStrategy.cs:line 86
at Server.DualSaveStrategy.Save(SaveMetrics metrics, Boolean permitBackgroundWrite) in C:\Users\orpy8\OneDrive\Desktop\My Server\Server\Persistence\DualSaveStrategy.cs:line 32
at Server.World.Save(Boolean message, Boolean permitBackgroundWrite) in C:\Users\orpy8\OneDrive\Desktop\My Server\Server\World.cs:line 1159
at Server.Timer.DelayCallTimer.OnTick() in C:\Users\orpy8\OneDrive\Desktop\My Server\Server\Timer.cs:line 702
at Server.Timer.Slice() in C:\Users\orpy8\OneDrive\Desktop\My Server\Server\Timer.cs:line 410
at Server.Core.Main(String[] args) in C:\Users\orpy8\OneDrive\Desktop\My Server\Server\Main.cs:line 674
 
Ok, so new question. What files do I need to copy over on a new server if I want to bring up a new server with old data? I see a back up folder created on the old server, but where do I replace it on the new one?
 
Hi there,

Would OneDrive cause your issue ?
Do you have synchronization active ?
For better configuration, I would setup the server in a different folder. For example, C:\UO\…

The subfolder “Saves” is what you are looking for, for transferring backups from an old server to a new one.
Typically, it’s just a copy and paste.
But it depends on what kind of older server you had. If ServUO versions are different, it may become very complex to transfer world saves.

Let us know if you still have crashes
 
I ended up creating a new server since I am just recently learning. Thanks for the pointer on the "Saves" subfolder I'll keep that one in mind.

Although I changed the server from folder it seems it was still pointing at the OneDrive for some reason, it continues to give the same error no matter where I placed the server.
 
Hmmmm, it may be hard to fix, but I think there is a way.

3 things you can try.
1. Start ServUO with Admin rights. This can be done by doing a right click on the EXE file and choosing “Start as an administrator …”
This is the usual solution in that kind of crashes.
But the crash logs mention that another process is locking the file, or that it is “used by another process”. That’s why I thought it was OneDrive

2. Another common fix is the client folder. It’s possible that you are using both the client and the server on the same machine. This can be the case if you want to play UO on a local network for playing with friends, or simply setting up a server for playing alone.
In that case, pay attention you should create a copy of the “Ultima Online Classic Client” folder and paste it somewhere else on your copy. ServUO requires a “clean copy” of the client files to be able to work.
So if you play UO from the same machine as the server files, you need two copies of the client files. Link the new path in DataPath.cfg (inside \ServUO\Config\… folder).
Again, this is something you can try, but I feel this is something different (OneDrive …)

3. So that hardest one : gaining ownership of your whole ServUO folder again. You probably have Windows 10 or 11.
- Right click “ServUO-master” folder and go to Properties.
- There security tab.
- Click Advanced.
- Owner: you probably have your AzureAD or Microsoft account, but in any cases, even if it’s the correct info, click on “Modify”.
- “Advanced” again.
- Then “Search” and in the list, choose your current user. It depends on your OS (Windows 11 or 10, Home, Pro or Enterprise, ..) and if you are logged in with your Microsoft account or a local user.
(For AzureAD, you can type your username like this : AzureAD\opry8)
- Click OK (only once)
- In this screen, make sure to tick “Replace the owner of sub folders and objects”.
- Also tick at the very bottom of the window : “Replace every entries of ownership of child objects …”
- Click “apply”
- Then click OK.

Depending on the number of files, it can take a while. It’s basically what you have to do when you grab a ServUO folder from the Internet. Making it yours ^_^

Hopefully that helped a little. Sorry if that looks complex. You can easily find a YouTube video with somebody that will show you where to click, depending on your OS and files.

Take care, mate ! Have fun with ServUO
 
It happened again. :( I had placed it in a different folder to avoid the onedrive thing... It was working for like a week and now this again... Not sure what's going on. I am using 2 different client folders as I am using the same machine to run the server and play. I also have the ServUO exe always run as administrator...

1682385136422.png
 
off the wall- but, perhaps the client folders them selves are not able to read & write? (permission issue)
Where do I look to confirm this? I changed the name and it is still not working although the error message did seem to change at the end.


1682421371614.png
 
Reflection is the function of looking back on itself, and if you just renamed the folder thinking it would fix the error than that is not going to work, as the old file structure is saved and simply changing it after doesn't correct the issue. Your save is corrupted IMO, the reflection failed due to not finding the data which is under the old folder name address, but since you were using weird folder names, it probably messed up the reflection! IMO, start again, use proper folder naming!
1682440261409.png

Still see onedrive and such ... this is a mess, and clearly you don't have a good understanding of computing, to put this in OneDrive to begin with was something I couldn't imagine someone doing as that is a cloud service and the last place to put a server! Not trying to be negative, but I think you need more help with understanding a computer first before jumping into running a server!
 
Last edited by a moderator:
Where do I look to confirm this? I changed the name and it is still not working although the error message did seem to change at the end.


View attachment 21751
Your Scripts.CS.dll file is corrupted. Delete the whole output folder:
  • C:\My-New-Server\Scripts\Output
and try to run ServUO again. You may be required to recompile ServUO:
Run Compile.WIN - Debug.bat for development environments.

EDIT: On Windows there shouldn't be problem with weird folder names. But OneDrive probably messed up your files. You will probably encounter other errors, because of corrupted files. Personally I would start from scratch with clean ServUO.
 
Last edited:
Thanks guys, I'll try it once more. Not sure why it continues to say OneDrive when the folder is on my desktop and I'm not signed in on OneDrive.
 
On Windows : It does matter!



@ORPY OneDrive has its own copy of your desktop/docs/pictures/videos and it is easy to confuse them for your actual ones, make sure you are using the real Desktop and not the copy in OneDrive
 
On Windows : It does matter!



@ORPY OneDrive has its own copy of your desktop/docs/pictures/videos and it is easy to confuse them for your actual ones, make sure you are using the real Desktop and not the copy in OneDrive
You send a link and don't even read it. Any character including Unicode characters (even emojis) can be used, with only few exceptions. I'm sure .NET complies with these rules:
  • Use any character in the current code page for a name, including Unicode characters and characters in the extended character set (128–255), except for the following:
    • The following reserved characters:
      • < (less than)
      • > (greater than)
      • : (colon)
      • " (double quote)
      • / (forward slash)
      • \ (backslash)
      • | (vertical bar or pipe)
      • ? (question mark)
      • * (asterisk)
    • Integer value zero, sometimes referred to as the ASCII NUL character.
    • Characters whose integer representations are in the range from 1 through 31, except for alternate data streams where these characters are allowed. For more information about file streams, see File Streams.
    • Any other character that the target file system does not allow.
 
Back