startup errors

Posted by Gdub on Mon 12 Feb 2024 07:43 PM — 10 posts, 18,130 views.

#0
After some help from Nick, I managed to complete the compiling steps and tried to run the .exe just to see what happens. I think the startup script commands/syntax has changed considerably over the last 20+ years.

Just running smaug.exe from windows powershell, I get the following. I did a quick search for that error in other posts but nothing obvious came up. Any hints would be greatly appreciated.

Mon Feb 12 11:33:03 2024 :: Booting Database
 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Mon Feb 12 11:33:03 2024 :: [*****] BOOT: ---------------------[ Boot Log ]--------------------
Mon Feb 12 11:33:03 2024 :: Loading commands
Mon Feb 12 11:33:03 2024 :: Loading sysdata configuration...
Mon Feb 12 11:33:03 2024 :: Loading socials
Mon Feb 12 11:33:03 2024 :: Loading skill table
Mon Feb 12 11:33:03 2024 :: Sorting skill table...
Mon Feb 12 11:33:03 2024 :: Remapping slots to sns
Mon Feb 12 11:33:03 2024 :: Loading classes
Mon Feb 12 11:33:03 2024 :: Loading races
Mon Feb 12 11:33:03 2024 :: Loading herb table
Mon Feb 12 11:33:03 2024 :: Loading tongues
Mon Feb 12 11:33:03 2024 :: Making wizlist
Mon Feb 12 11:33:03 2024 :: Initializing request pipe
Mon Feb 12 11:33:03 2024 :: [*****] BUG: REQUEST pipe not found
#1
I've discovered some other errors that I need to address. This may be a red herring. I'll report back when I'm confident this is where I'm stuck :/
USA Global Moderator #2
I think that error means you don't have a system/requests.dat file.
#3
Fiendish said:

I think that error means you don't have a system/requests.dat file.


I dug around in some other .dat files and created an empty one in the systems folder named requests.dat and put #end inside it.

Unfortunately I still got the same error on startup.

I also tried request.dat and removed the #end from the file. No changes.

Any other tips would be appreciated. I may downloaded a fresh version of the source and poke around there as I'm having other challenges and would like to make sure my machine is setup properly before trying to get back to my modified codebase. There are lots of changes I really don't want to lose.

Thanks in advance for _any_ advice. I really do appreciate it.
Australia Forum Administrator #4
Mon Feb 12 11:33:03 2024 :: Initializing request pipe
Mon Feb 12 11:33:03 2024 :: [*****] BUG: REQUEST pipe not found

The relevant code is here, in requests.c:

void init_request_pipe( )
{
#ifdef REQUESTS
  if ( (REQ = open( REQUEST_PIPE, O_RDONLY | O_NONBLOCK )) == -1 )
  {
    bug ( "REQUEST pipe not found", 0 );
    exit(1);
  }
#endif
}

It appears to be trying to open a FIFO (pipe) to REQUEST_PIPE:

(from mud.h)

#define REQUEST_PIPE    SYSTEM_DIR "REQUESTS"     /* Request FIFO    */

I suggest you undefine REQUESTS so that it no longer attempts to do that. Maybe, in requests.c put an undef before the function declaration, eg.

#undef REQUESTS
void init_request_pipe( )
...
Amended on Fri 16 Feb 2024 06:51 AM by Nick Gammon
USA #5
Funny.. Looks to me like its trying to find a folder, which doesn't exist, and then fails. If it was me, I would have coded any mud/mush so that, when you start out, if folders do not already exist it creates them. Only thing I can think is that a) this isn't being done, or b) the folder does exist, but somehow you managed to run it from the wrong place, such that it can't "find" the folder.

A lot of the code for these things is bound to be so old that the muds/mushes do not install like modern applications, expect manual configuration of things like the "run directory" for them, expect you to create the whole directory structure for them before hand, or have no clue how to ask the OS what the correct directory is. This is especially true if they where designed for DOS.

Its almost always something like: "I am in src when I type src/smaug/smaug.exe, but then it thinks it should be looking for the /requests folder in /src/requests, not src/smaug/request, or some variation like that. Or, as I said, it doesn't automatically create the right folders, when first run, or it created them in the wrong place (see above for why that might happen), so it can't find the one its looking for.

I know this "should" be obvious, but I have, run into this sort of "D'oh!", moment myself back in the day, and we almost never, ever, think about it now, because all modern applications tend to have installers, and those installer both create the right folders, and the means for modern OSes to "know" what folder you are supposed to be in when things run.
Amended on Fri 16 Feb 2024 11:52 AM by Shadowfyr
#6
Nick Gammon said:

> Mon Feb 12 11:33:03 2024 :: Initializing request pipe
> Mon Feb 12 11:33:03 2024 :: [*****] BUG: REQUEST pipe not found

The relevant code is here, in requests.c:

```c
void init_request_pipe( )
{
#ifdef REQUESTS
if ( (REQ = open( REQUEST_PIPE, O_RDONLY | O_NONBLOCK )) == -1 )
{
bug ( "REQUEST pipe not found", 0 );
exit(1);
}
#endif
}
```

It appears to be trying to open a FIFO (pipe) to REQUEST_PIPE:

(from mud.h)

```h
#define REQUEST_PIPE SYSTEM_DIR "REQUESTS" /* Request FIFO */
```


I suggest you undefine REQUESTS so that it no longer attempts to do that. Maybe, in requests.c put an undef before the function declaration, eg.

```c
#undef REQUESTS
void init_request_pipe( )
...
```



Thanks for the continued support.

I'm having trouble with the cygwin commands. Here's the smaug.exe size according to windows - 8.64 MB (9,062,285 bytes)

I #undef'd as you suggested, deleted cygwin.dll from the src folder, make clean, make smaug, successfully recompliled.

I can only seem to get feedback when running from the powershell. I started in the area folder and did ../src/smaug

It got past the request pipe error and am now stuck here


Fri Feb 16 13:10:19 2024 :: Making sure rooms are planed...
Fri Feb 16 13:10:19 2024 :: Fixing exits
Fri Feb 16 13:10:19 2024 :: Initializing economy
Fri Feb 16 13:10:19 2024 :: Resetting areas
Fri Feb 16 13:10:19 2024 :: Updating rare/unique item counts.....
Fri Feb 16 13:10:19 2024 :: Checking player files....


I'm going to try a removing all the previously saved player data and see what the nets. I'm also going to reinstall cygwin and see if that solves any of the command/dll issues.
#7
Gdub said:


I'm going to try a removing all the previously saved player data and see what the nets. I'm also going to reinstall cygwin and see if that solves any of the command/dll issues.


Progress! I reinstalled cygwin and it seems to have solved some of the oddities I was experiencing.

I can now clean/make/launch without moving the cygwin.dll around and... have managed to get this far with the server.


Fri Feb 16 17:51:01 2024 :: Initializing socket
Fri Feb 16 17:51:01 2024 :: Conquest ready at address DESKTOP-7RPHHGB on port 4000


I'm still unable to connect via telnet atm so am starting to debug that step but it's moving forward.

Thank you for all the tips and support. This community is great. :)
Amended on Sat 17 Feb 2024 02:17 AM by Gdub
#8
Update - successfully connected to the server!
Australia Forum Administrator #9
Well done!