Register forum user name Search FAQ

Gammon Forum

Notice: Any messages purporting to come from this site telling you that your password has expired, or that you need to verify your details, confirm your email, resolve issues, making threats, or asking for money, are spam. We do not email users with any such messages. If you have lost your password you can obtain a new one by using the password reset link.

Due to spam on this forum, all posts now need moderator approval.

 Entire forum ➜ SMAUG ➜ SMAUG coding ➜ Need help with copyover problem...

Need help with copyover problem...

It is now over 60 days since the last post. This thread is closed.     Refresh page


Posted by Brihtwulf   (3 posts)  Bio
Date Sat 25 Oct 2003 02:32 AM (UTC)
Message
Hey,

I'm running a self-compiled version of the smaug1.4 for win32 on windowsXP Pro. Got everything working fine. But I wanted to install some coding for copyover, and it's not going too well... I used the code from Samson's site, and got everything to compile fine. However, when I ran the exe, it would crash out saying something about accept_new and it wouldn't accept any descriptors. Well, I removed the other control ports that are defined in the code, so now I can connect back up to the server.

Only when I do a copyover from in the game, I get this error:

imc: imc_shutdown_network: called with imc_active==0
do_copyover: execl: No such file or directory

I checked in comm.c and the execl file is set to "smaug", which is correct for the win32 port right??? Well, anyway, can someone help me or point me in the right direction to get things working? I probably didn't need to erase the other 3 ports the server holds, but it seemed like a good idea at the time...

-Brihtwulf
Top

Posted by David Haley   USA  (3,881 posts)  Bio
Date Reply #1 on Sat 25 Oct 2003 06:28 AM (UTC)
Message
Don't forget that it won't find the file "smaug" because the active directory of the program is the area directory, not the source directory. You'll need to run something like "../src/smaug".

David Haley aka Ksilyan
Head Programmer,
Legends of the Darkstone

http://david.the-haleys.org
Top

Posted by Brihtwulf   (3 posts)  Bio
Date Reply #2 on Sat 25 Oct 2003 07:21 PM (UTC)
Message
No, actually, with the windows port the exe is right in the smaug folder. so, there is no reason to make it backtrack. Has anyone actually gotten copyover to work under windows? I don't mean cygwin, I mean directly edited and compiled with MSVC6 or something like it. I could really use some help in getting this to work...

-Brihtwulf
Top

Posted by David Haley   USA  (3,881 posts)  Bio
Date Reply #3 on Sat 25 Oct 2003 08:25 PM (UTC)
Message
What's your directory structure? Unless the windows port changes even more, your executable should be running in the area/ directory, otherwise it won't be finding the files.

When you start the game, do you use a startup script? If so, could you paste it?

Obviously, if the exec function is not finding the smaug executable, then something is wrong with your path settings...

David Haley aka Ksilyan
Head Programmer,
Legends of the Darkstone

http://david.the-haleys.org
Top

Posted by Brihtwulf   (3 posts)  Bio
Date Reply #4 on Sat 25 Oct 2003 11:37 PM (UTC)
Message
Well, I have the same structure as most smaug systems. I have the main smaug folder, then src, area, player, gods, etc... Using the port to windows, there is a MSVC workspace that contains all the c files and connects them together as a project. Once compiled, the smaug.exe is placed in the c:/smaug/ directory, and executed from there. I simply start the program by opening a command prompt, going to c:/smaug/ and typing smaug /run, since I am not running it as a service. I have tried adding the /run to the command in the code, but it made no difference. I think that the real problem may have been with the accept_new issue I had before I tried to do a workaround, but I'm not totally sure, since I've never tried to use this snip before. Anyway,...that's what I've got going on... I hope that helps.

-Brihtwulf
Top

Posted by Samson   USA  (683 posts)  Bio
Date Reply #5 on Sun 26 Oct 2003 12:19 AM (UTC)

Amended on Sun 26 Oct 2003 12:20 AM (UTC) by Samson

Message
Always been my understanding that copyover won't work in native Win32 no matter what you do. Unless this has changed recenly, I see no reason to expect it will at this stage either. Though if you get it working it will be welcome news to plenty of Win32 mud admins :)

BTW, ignore the silly imc error. It's just telling you the shutdown routine for it got called but the connection wasn't active.
Top

Posted by Gatewaysysop2   USA  (146 posts)  Bio
Date Reply #6 on Sun 26 Oct 2003 07:04 PM (UTC)
Message
I don't know how much, if at all this helps, but I got at least one incarnation of copyover working on a somewhat recent release of Samson's FUSS package. This would be under Win 98/98SE so I can't speak toward XP or anything, but it can't hurt to give it a shot right?

Anyway the details are far too lengthy to post here, but you can find them in the Mud Planet MUD Forums (http://forums.mudplanet.org) under Smaug and coding. They're not shown right off, but if you list all the posts "from the beginning" and go to page 2, it should be near the top and pretty obvious. If finding it is that big of a problem I can probably email you a .txt file I made with the instructions.

Basically I got this working stand alone, but you have to compile under cygwin and put a copy of cygwin1.dll in the /area directory with the smaug executable. That doesn't really seem like such a bad tradeoff to me, but to each his own I guess. Anyway, it's all just patchwork and I don't take credit for it at all, nor do I imply any warranty. It works for me, quite flawlessly from what I've seen, and that's all that I can say about it.

Check it out and see if it helps. :-)

"The world of men is dreaming, it has gone mad in its sleep, and a snake is strangling it, but it can't wake up." -D.H. Lawrence
Top

Posted by David Haley   USA  (3,881 posts)  Bio
Date Reply #7 on Sun 26 Oct 2003 07:24 PM (UTC)
Message
Well, note there that the .dll file is placed in the area directory, which is the working directory for SMAUG.

Brihtwulf, how does your copy open up the area files? In the code, what path does it reference? If it's not even finding the executable then you're not telling it to look in the right place. It's possible that the program changes its active directory to the area directory to open up the area files, in which case you will no longer be able to run just "smaug" because you're not in the right folder anymore.

David Haley aka Ksilyan
Head Programmer,
Legends of the Darkstone

http://david.the-haleys.org
Top

Posted by Kris   USA  (198 posts)  Bio
Date Reply #8 on Wed 29 Oct 2003 05:22 PM (UTC)
Message
My SMAUG-based MUD uses copyover, and currently runs under WinXP. It's touchy as hell; even a small code change somewhere else can cause it to start crashing (kinda like the SMAUG switch function eh?). But it does work if you install it correctly.

As for the specific problem, that sounds eerily familiar. I'm pretty sure I had that same error in the beginning, and obviously fixed it, though I can't remember how (or even if that was the same problem) offhand....

But yes, if it's SMAUG running in Windows (tested it personally in 98SE, ME, 2k, and XP), then copyover will work, though it will put-up a fight =)
Top

Posted by Samson   USA  (683 posts)  Bio
Date Reply #9 on Fri 31 Oct 2003 11:35 AM (UTC)
Message
Should be noted that the original post was asking how to get this working in the native Win32 environment. From everything I've ever been told about copyover, it simply won't work using MSVC++. Getting it to work under Cygwin probably won't help this guy much, although it's a start since even that didn't used to work very well.
Top

The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).

To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.


29,331 views.

It is now over 60 days since the last post. This thread is closed.     Refresh page

Go to topic:           Search the forum


[Go to top] top

Information and images on this site are licensed under the Creative Commons Attribution 3.0 Australia License unless stated otherwise.