I have no prior experience with neither RunUO nor ServUO and I'd like to start from scratch. That is, I'd like to take the server component and write all the scripts from the ground up. How can I do that? Just deleting the contents of Scripts/ doesn't work. Thanks!
 
Well that will be a lot of work to build again, but you would need to take the scripts folder and remove it.
After that you would need to change the ScriptCompiler.cs at line 158 so it won't return and therefor stop the server, recompile and you can start. Now you will get errors but you would need to work this out on your end.
 
I'd just like to point out, in case OP isn't aware, that deleting the Scripts folder is a terrible idea unless you absolutely know what you're getting yourself into. If you are not an expert in C# already or do not have hundreds of hours to waste on rebuilding extremely fundamental scripts, I'd strongly advise against taking this route.
 
Thanks everyone who answered. I've gotten a bit more familiar with ServUO last night and I see that there is a lot of core functionality laid out in the Scripts/ folder. There is just a lot to delete if I'm going to do a Renaissance server.
 
To get a basically functional UOR server or earlier server, might not be quite as much work as you'd think. Setting the core expansion to UOR will do a lot of the work for you, though there will still be a lot of work to do depending on the level of detail you want to be accurate to. Core.UOR is somewhat accurate to publish 16 OSI.
 
To get a basically functional UOR server or earlier server, might not be quite as much work as you'd think. Setting the core expansion to UOR will do a lot of the work for you, though there will still be a lot of work to do depending on the level of detail you want to be accurate to. Core.UOR is somewhat accurate to publish 16 OSI.

Yes I'm aware of that now, I just want to get rid of unused scripts and code altogether :)
 
Last edited:
Its still going to be a lot of work, just trying to remove AOS.cs will throw hundreds of errors and you will spend hours removing all the if Core.AOS statements, etc.

I've started doing this once or twice and got pissed off each time and just let the Expansion checks do what they do. It would be cleaner code to remove them all but OMG is it a ton of work.

If you do it, do us all a favor and release the clean code, lol
 
Perhaps a solution is sharing what changes need to be made to be Ren accurate and make updates to the repo ( with core checks when needed )

Seems silly how many times I see this topic come up over the years and how many people put in the work to make it more accurate only to never share it.

Another option is to have two separate public repos - Ren with mods to be more accurate which also lend to making a more accurate T2A.
Then the existing repo for everything after Ren

But if you're gonna do Ren, please DO Ren. Not Ren minus Tram
 
Vorpsire once suggested having a separate repo for each major era, which is a brilliant idea but a ton of work.

I had a Ren era shard and I remember doing a ton of edits, too many to list all the needed changes. However, if I can find it, I will release it. Would not be updated to the new ServUO however.

And yes, my ren had trammel :)
 
I can see the benefit to have separate repos for each era, but what happens when you make changes to the "foundation" of the server. You'd have to do it to each one, because it wouldn't be era specific but would effect how well the program runs.

I had a Ren era shard and I remember doing a ton of edits, too many to list all the needed changes. However, if I can find it, I will release it. Would not be updated to the new ServUO however.
that would be awesome.

And yes, my ren had trammel :)
I remember when Tram came out, along with the new houses. Back then you had to use Moonstones to travel between Tram and Fel. That was fun, especially since they weren't always easy to find.
 
I'll look for it when I get home. And yes, I had moonstones active on it.

As far making changes to the "foundation", Voxpire's idea was to use a common core and then each repo would have its own development. All core changes would go into each era but the scripts folder would be developed independent of the core.
 
It'd be nice to have the main repo actually have Core.UOR, Core.T2A and Core.None checks (of which basically none exist at all). However I don't feel like there is any effort at all to maintain these eras in the ServUO repo - using ServUO for a UOR/T2A shard is significantly worse than using RunUO due to era compatibility checks basically not being policed on ServUO pull requests.
 
It'd be nice to have the main repo actually have Core.UOR, Core.T2A and Core.None checks (of which basically none exist at all). However I don't feel like there is any effort at all to maintain these eras in the ServUO repo - using ServUO for a UOR/T2A shard is significantly worse than using RunUO due to era compatibility checks basically not being policed on ServUO pull requests.

There isn't any real effort, you are right. Our mission is to emulate the newest eras of OSI (building towards it). Once that is done We can see about older eras. It is definitely a better idea right now to use runuo if you want to build an older era shard.

There are definitely a lot of era checks missing from code. I try to add them as I spot them but the code for earlier areas while retained, will not be maintained bar the possibility of pull requests from members of the community.
 
There isn't any real effort, you are right. Our mission is to emulate the newest eras of OSI (building towards it). Once that is done We can see about older eras. It is definitely a better idea right now to use runuo if you want to build an older era shard.

There are definitely a lot of era checks missing from code. I try to add them as I spot them but the code for earlier areas while retained, will not be maintained bar the possibility of pull requests from members of the community.
I always tell myself I'm going to help out by submitting some, but I find it really hard to find the time while running a shard also.

I could at least add support for basic T2A combat mechanics, that wouldn't take me very long to do.
 
I've been itching to try playing in client 2.0.3 again.

only thing I've never missed about T2A/Ren is the old crafting gump. and the scrolling! painfully and horribly slow. it's a wonder anyone made a living as a smithy.
 
I couldn't find my old shard but I created a new repo and I am currently working on backward from ServUO as it exists now and removing everything prior to core.AOS. This is going to be a long project. Once I'm done removing stuff, I'll request anyone who is interested in that era to help me test and do pull requests. I really feel this is a long time coming as I agree that ServUO is lacking in backward compatibility (for the record, I don't think ServUO should be focused on Era checks, but should be pressing forward by removing era checks and focusing on OSI accuracy).
 
Would be happy to test when it's ready.
Have Iso for clients 1.24 and 2.0.4, I believe, and would like to see support for them eventually
 
Ok it seems to me that the path of least resistance would be to take beta 16 and start from there. Since I werent involved in runuo in any way, what would I be missing, say, performance or security-wise? I mean what is different in "core" part from release 1 or 2? Or ServUO? Is there any detailed changelog? Thanks to all of you!
 
Last edited:
Ok it seems to me that the path of least resistance would be to take beta 16 and start from there. Since I werent involved in runuo in any way, what would I be missing, say, performance or security-wise? I mean what is different in "core" part from release 1 or 2? Or ServUO? Is there any detailed changelog? Thanks to all of you!

There would not be a detailed changelog from RunUO beta to ServUO current. But the changes would be immense. You would have to try and see honestly as it's been so long since I used those versions I cannot remember exactly what is different. (It's a lot though!) I do remember horde minions would vacuum up whole areas in seconds though :p

Also there is no way it supports the latest clients. Especially the UOP ones and possibly ones before that. I think client 4.x.x.x was around in runuo beta or maybe even earlier.
 
There would not be a detailed changelog from RunUO beta to ServUO current. But the changes would be immense. You would have to try and see honestly as it's been so long since I used those versions I cannot remember exactly what is different. (It's a lot though!) I do remember horde minions would vacuum up whole areas in seconds though :p

Also there is no way it supports the latest clients. Especially the UOP ones and possibly ones before that. I think client 4.x.x.x was around in runuo beta or maybe even earlier.

I'm running LBR client so there is no issue. I'll try to go through old SVN revisions and latest git commits to know what has been changed and updated.

I'd greatly appreciate if someone with more knowledge and who's been around for longer than me could do a short write up with significant changes between runuo releases.
 
Last edited:
I thought about starting with one of the older versions and working forward. It would certainly be easier. However, I think its better to use the current core for a few reasons:

1. Net 4.0 support. The older core is using Net 2.0.
2. Optimizations to performance and save strategies.
3. ServUO will continue to see advancements that can be easily merged if the repos share a common core.
4. Older versions of RunUO do not include source code.
 
I thought about starting with one of the older versions and working forward. It would certainly be easier. However, I think its better to use the current core for a few reasons:

1. Net 4.0 support. The older core is using Net 2.0.
2. Optimizations to performance and save strategies.
3. ServUO will continue to see advancements that can be easily merged if the repos share a common core.
4. Older versions of RunUO do not include source code.

Right. I've just noticed that beta 16 does not include runuo server source... Dang, I got really overexcited to have my hands on this...
 
Right. I've just noticed that beta 16 does not include runuo server source... Dang, I got really overexcited to have my hands on this...

The good news is it totally frees you up to help with the repo once I get past the initial cleanup! ;)
 
Well, I got a ton of stuff removed and I'm at the point that it will actually compile!

Don't get too excited tho, this is still gonna be a crap ton of work and a stiff breeze will crash it right now, but its coming along...

You can look at the repo here: https://github.com/Ravenwolfe/ServUO16

Understand that this is still very early in. Its gonna crash if you try to createworld, deco will be wrong, etc. I'm only at the point of removing some bloat. Still will need a LOT of work on deco files, spawns, and general gameplay.
 
Well, I got a ton of stuff removed and I'm at the point that it will actually compile!

Don't get too excited tho, this is still gonna be a crap ton of work and a stiff breeze will crash it right now, but its coming along...

You can look at the repo here: https://github.com/Ravenwolfe/ServUO16

Understand that this is still very early in. Its gonna crash if you try to createworld, deco will be wrong, etc. I'm only at the point of removing some bloat. Still will need a LOT of work on deco files, spawns, and general gameplay.

Great! I'll chime in.

Could you perhaps outline in broad strokes what's needed to be done and what are your current priorities?
 
Last edited:
First, I'm going to go thru all of the base files and remove the unnecessary properties and cleanup all the serialization. No need to have all the versioning since anyone using this will be starting from scratch.

Im gonna focus on getting the createworld command to run without crashing and get it to decorate the world properly next.

Next would be combat, making sure all AOS resistances are gone and damages are being applied correctly.

Some other tasks, these have been started, but need checked:
1. Removal of wrong era mobs
2. Removal of wrong era weapons
 
First, I'm going to go thru all of the base files and remove the unnecessary properties and cleanup all the serialization. No need to have all the versioning since anyone using this will be starting from scratch.

Im gonna focus on getting the createworld command to run without crashing and get it to decorate the world properly next.

Next would be combat, making sure all AOS resistances are gone and damages are being applied correctly.

Some other tasks, these have been started, but need checked:
1. Removal of wrong era mobs
2. Removal of wrong era weapons

Look what I've found on github: https://github.com/Grimoric/RunUO.T2A – from what I've gathered, it's a RunUO conversion to T2A shard. Can it help a bit?
 
Cant hurt! I'm determined to use the ServUO core and I'm well on the way to doing so. This will be a great reference tho, thanks!
 
Back