I am looking for the script that allows us to recompile the scripts while the server is running. I know alot of people say it doesn't work. I want to find it and get it working. I am running linux and pretty sure I can get it to work, with alot of help from the community.
 
john, let's discuss for a bit WHY you want this, or more importantly, WHAT it is exactly that you want to do. Let's break it down into the component parts and go from there.
 
It all started when I first started working on getting a server going.

First I started with RunUO, then a friend suggested I should go with POL. To be honest, I really tried to work with it. But the whole number system was just so damn confusing. I still have it, I hung on to it, but in theory I tossed it out a window. although I did like the fact that you could recompile the scripts without restarting the server.

So, I went back to RunUO. It took me three years, and 8 tries, but I learned a lot on my own, and now I feel more comfortable being an owner. But I still liked the ability to re-compile the scripts without restarting the server.

Now people are telling me that RunUO could do that, but it interfered with the world saves, and so they took it out. I think if we re-worked it, with the newer software and emulators, it could work. That's what I feel.

If I can get some coders to help, because I know nothing about coding, and if we can get it to work, I will share the credit with whomever who helped, and we will go down in history as renewing an old system.

If it doesn't work out, fine, I was wrong. And I will never bring up the subject again.
 
I still liked the ability to re-compile the scripts without restarting the server.
Now people are telling me that RunUO could do that, but it interfered with the world saves, and so they took it out. I think if we re-worked it, with the newer software and emulators, it could work.

I don't have a problem with this, but it's not what I am looking for. Just "liking" something is not a reason. Liking it because you don't want the server to go down to introduce a new script is a reason. Or, liking it because you want to minimize the downtime by making restarts only take a second instead of 5 minutes would be another. Or, wanting to do it because it is like a mountain just begging to be climbed might even be a reason. I just want to hear your reasons.
 
It would be possible to recompile while the server is running, however it comes with many.. many pitfalls.

What happens when there is a serialisation problem with the newly compiled version of the script? Well, you have just gone and corrupted your entire save.

What happens when a class that existed at first runtime suddenly doesn't exist when you use your recompile command?

I mean, it would be nice to have the command but it will take QUITE a long time to code it and require massive edits to the engine. Just take the 30 seconds to restart instead :)
 
OK, I will end this crusade. I just thought it would be cool to get it working. But, sounds like there is too much involved.

You don't necessarily have to give up. Just look at all the available options, and decide what will or will not work for you.

For example:

If you don't want the server to go down to introduce a new script - then I would recommend getting familiar with XML Attachments. They provide flexibility on the fly, allowing you to do all sorts of things without coding a new type.

If you want to minimize the downtime by making restarts only take a few seconds instead of 5 minutes - then consider a system that minimizes down-time. One is here: http://www.runuo.com/community/threads/runuo-2-0-rc1-quickrestart.70140/

I wrote a server mod that compiles stand-alone scripts in a separate thread, meaning when the server starts, if I have not made changes to the main scripts folder, it only takes seconds to restart.

If it is like a mountain just begging to be climbed, then there is nothing anyone can say or do that will be good enough. You will just need to keep at it until you either succeed or come to the same conclusions the rest of us have made.
 
I wrote a server mod that compiles stand-alone scripts in a separate thread, meaning when the server starts, if I have not made changes to the main scripts folder, it only takes seconds to restart.

Sir, I think you have come as close as anyone has to what I wanted.

And how would one redo this for ServUO?
 
An idea.

What if we design the recompile command script to only recompile the Customs Folder, and if there is a warning about a script, that will not compile, it gets ignored.

Similar to what you have.

Or is it the same bad idea?
 
Not sure I understand you completely. When you do a restart, if any script is changed within the scope of the Folders being compiled, then that assembly will be recompiled. You can't tell it to NOT recompile if it encounters an error, because it already does that, and stops so you can correct the error.
 
ok, I was hoping with your system, with a little tweaking, it could work.
But, if there was a problem with a script it wouldn't know it, and it would crash. Like you said.

But what if, it did have an error with a script, so instead of compiling and over-writing the previous scripts.dll, it gave an error saying like it does now, and displays a message saying "Unable to recompile scripts due to the previous errors."
 
Back