17 Mar, 2010, wildmak wrote in the 21st comment:
Votes: 0
and I just checked my Archive packages , and Anatolia 3.1 and 31.1 (3.1.1) , only have 3 Makfiles in the Src directory.

Makefile.am
Makefile.in
Makefile Original

I had to go back to Anatolia 2.2 to get more makefiles than that in the src directory. 2.2 has

Makefile
Makefile.aix
Makefile.hp
Makefile.linux
Makefile.sunos
Makefile.sysv

If I was attempting to compile 2.2 I would be using Makefile.linux , as I'm using Ubuntu 9.10 … but I've been working with 3.1.1
17 Mar, 2010, jurdendurden wrote in the 22nd comment:
Votes: 0
wildmak said:
I've tried the original makefile that is generated by just doing a ./configure , I've also tried using the Makefile.original file that is in the src directory .

As far as the Compile goes, I have tried changing

ORG_RACE(victim) = race;


to

victim->pcdata->race = race;


and

if (IS_NPC(victim))
victim->pIndexData->race = race;
else
victim->pcdata->race = race;


Both Lines continue the compile until

comm.c: In function nanny:
comm.c:1918: error: lvalue required as left operand of assignment


Which is the same error line from page 1 after I attempted to comment out ORG_RACE without code re-writes


Once again it's trying to assign something to an expression, which just doesn't work,

Comm.c 1918:
ORG_RACE(ch) = race;


You will need to change it to this:

if (IS_NPC(victim))
victim->pIndexData->race = race;
else
victim->pcdata->race = race;


And every other instance in the code thereafter will need to be updated accordingly.
17 Mar, 2010, yamtara wrote in the 23rd comment:
Votes: 0
what d u thing about this

in comm.c

line 1918 ORG_RACE(ch) = race;
RACE(ch) = race;
for (i=0; i < MAX_STATS;i++)
ch->mod_stat= 0;

i changed it to only

ch->race = race;
for (i=0; i < MAX_STATS;i++)
ch->mod_stat= 0;

than no problem i thing
17 Mar, 2010, wildmak wrote in the 24th comment:
Votes: 0
Thanks jurdendurden, and David Haley :D

I am up and running, now to see if it is stable :) , if I don't run into any major issues I am thinking of re packing the files and uploading them here as 3.1.1a.

there were still some warnings as the code compiled , but I can live with those
18 Mar, 2010, wildmak wrote in the 25th comment:
Votes: 0
lol …. the mud now compiles , and I can create a character, login and play…. Save , quit , try to reconnect , and connection is instantly closed …. been trying to see if other forums or anatolia muds have had similar issues with no luck thus far ….

I might re compile from scratch and try again tomorrow and post the changes that were made , see if perhaps I messed something up…
18 Mar, 2010, jurdendurden wrote in the 26th comment:
Votes: 0
Try running it through GDB to see what you can see.
18 Mar, 2010, wildmak wrote in the 27th comment:
Votes: 0
So far the only thing remotely close to useful information that I've been able to get is

Quote
Thu Mar 18 13:48:01 2010 :: Anatolia has launched on port 4000.
Thu Mar 18 13:49:42 2010 :: Sock.sinaddr: 127.0.0.1
Thu Mar 18 13:49:46 2010 :: EOF encountered on read.
Thu Mar 18 13:50:29 2010 :: Sock.sinaddr: 127.0.0.1
Thu Mar 18 13:51:30 2010 :: Djacktono@localhost new player.
Thu Mar 18 14:00:55 2010 :: Djacktono has quit.
Thu Mar 18 14:01:04 2010 :: Sock.sinaddr: 127.0.0.1
Thu Mar 18 14:01:08 2010 :: Loading Djacktono.
Thu Mar 18 14:01:16 2010 :: [*****] BUG: Fix_exits: 20034:1 -> 20045:3 -> 20024.
Thu Mar 18 14:01:16 2010 :: [*****] BUG: Fix_exits: 20044:1 -> 20045:3 -> 20024.
Thu Mar 18 14:01:16 2010 :: [*****] BUG: Fix_exits: 15092:2 -> 3049:0 -> 3045.
Thu Mar 18 14:01:16 2010 :: [*****] BUG: Fix_exits: 15093:1 -> 15091:3 -> 15092.
Thu Mar 18 14:01:16 2010 :: [*****] BUG: Fix_exits: 15098:1 -> 5028:3 -> 5027.
Thu Mar 18 14:01:16 2010 :: [*****] BUG: Fix_exits: 12124:1 -> 12154:3 -> 12154.
Thu Mar 18 14:01:16 2010 :: [*****] BUG: Fix_exits: 12125:1 -> 12153:3 -> 12153.
Thu Mar 18 14:01:16 2010 :: [*****] BUG: Fix_exits: 12126:3 -> 12152:1 -> 12152.
Thu Mar 18 14:01:16 2010 :: [*****] BUG: Fix_exits: 12127:3 -> 12151:1 -> 12151.
Thu Mar 18 14:01:16 2010 :: [Djacktono~]'s file +: 91
Thu Mar 18 14:01:16 2010 :: [Djacktono]'s file +: 0


The Bug exits are in cells.are and arcadia.are , renamed those files just to see if I could temp clear those errors , as it will be much easier to fix the exits logged in , and all that did was give me the expected error that the file was missing.

Tried running gdb , and attached it to my ./ctl_anatolia.sh start process , but didn't get any usefull information out of it. (gdb prog <process id>)

gdb just sat at gdb prompt even when saving and attempting to load characters so I

It's almost acting like the Mud is set to BAN connections , but that doesn't make sense cause it lets me create new characters.
18 Mar, 2010, jurdendurden wrote in the 28th comment:
Votes: 0
Are you running it locally? Can I take a peek? If so what's the address to log in?
18 Mar, 2010, jurdendurden wrote in the 29th comment:
Votes: 0
Oh wait you said you can create a char, save quit and THEN the issue arises. I would check the pfile for the bits pertaining to being denied and banned, also, once you try to relog back in, how far do you get? to the name? password? or past that?
18 Mar, 2010, wildmak wrote in the 30th comment:
Votes: 0
Am running the code locally , but it isn't on a machine that is accessible from the outside, I was wanting to get it up and running and run through things myself, as well as some area customizations, before putting it open to public.

Quote
By which name do you wish to be known?

By which name do you wish to be known? djacktono
***Connection Closed.


That is all I get when I connect , and I don't see anything in the pfile that looks like a ban … trying to locate the BAN coding atm
18 Mar, 2010, jurdendurden wrote in the 31st comment:
Votes: 0
Is it crashing everytime? Or just kicking your connection?
18 Mar, 2010, wildmak wrote in the 32nd comment:
Votes: 0
50 50 on whether or not the server crashes ….

there have been times when it hasn't , and times when it has

Unless the server is rebooting on it own after crashing …. when I do notice it down , I have to reboot before the server will start again.
18 Mar, 2010, jurdendurden wrote in the 33rd comment:
Votes: 0
Hmm that's really odd. I think something is saving incorrectly into the pfile at this point.
19 Mar, 2010, wildmak wrote in the 34th comment:
Votes: 0
Ok , just did a fresh compile from scratch

Here are the changes (other than tables.h and anatolia.h, and act_wiz.c) fixes already addressed in this thread or the thread in ROM

Comm.c line 1918
From:
Quote
ORG_RACE(ch) = race;


To:
if (IS_NPC(ch))
ch->pIndexData->race = race;
else
ch->pcdata->race = race;


Save.c Line 752
From: (This one I actually found in another thread here)
ORG_RACE(ch) = race_lookup("human");


To:
ch->pIndexData->race = race_lookup("human");


Save.c Line 1210

From: I think this one was from here as well (was several days ago and I didn't keep track of the threads I looked at)
RACE(ch) = race_lookup(fread_string(fp));
ORG_RACE(ch) = RACE(ch);
fMatch = TRUE;


To:
ch->pIndexData->race = race_lookup(fread_string(fp));
if (IS_NPC(ch))
ch->pIndexData->race = RACE(ch);
else
ch->pcdata->race = RACE(ch);
fMatch = TRUE;

save.c Line 1506
From:
if ( !str_cmp( word, "Race" ) )
{
RACE(pet) = race_lookup(fread_string(fp));
ORG_RACE(pet) = RACE(pet);
fMatch = TRUE;
break;
}
break;


To:
if ( !str_cmp( word, "Race" ) )
{
RACE(pet) = race_lookup(fread_string(fp));
if (IS_NPC(pet))
pet->pIndexData->race = RACE(pet);
else
pet->pcdata->race = RACE(pet);

fMatch = TRUE;
break;
}
break;
19 Mar, 2010, David Haley wrote in the 35th comment:
Votes: 0
wildmak said:
Save.c Line 752
From: (This one I actually found in another thread here)
ORG_RACE(ch) = race_lookup("human");


To:
ch->pIndexData->race = race_lookup("human");

This is wrong… ORG_RACE is the macro that expands to the conditional case, so you need the if statements. I would strongly advise reading an intro C tutorial as it would greatly help you understand what you're working with. If you try to 'fix' things without really understanding them, you might be introducing all kinds of strange and subtle bugs into your code.
19 Mar, 2010, wildmak wrote in the 36th comment:
Votes: 0
Yes I understand that something is wrong , it isn't working the way that it should ….

Yes I am trying to learn and understand more about C/C++ coding and have been doing lots of reading. Unfortunately the Tutorials I've read haven't matched anything that I'm seeing in this yet. Tutorials = Simple … Mud Coding is not …

I've even started the process of going through the anatolia code line by line and looking up as much as I can about the syntax and what the code is trying to do… Unfortunately there is no text file that says "If you want to understand this code start here" , oh ya and the comments in the code are practically worthless to me.

Even with "Errors" fixed and the mud able to run, during the compile process there were still warnings. I haven't mentioned the Warnings as I'm hoping that I'll be able to fix those as I learn more about the code.

Am still trying to figure out why it won't let me Reconnect to an existing character after saving and quitting.
19 Mar, 2010, Runter wrote in the 37th comment:
Votes: 0
It's very difficult to fix something while trying to learn it.

This would be akin to trying to learn from faulty, incorrect code. It's a shame that this codebase seems to be in shambles. It must have not been maintained over the years, and it sounds like it wasn't ever relatively bug free in the first place.

I should also mention that it would be difficult for even a seasoned veteran coder to jump into a poorly documented project of this relatively large size and fix unknown critical errors in the correct ways. E.g. the errors that aren't syntax errors that the compiler catches.
19 Mar, 2010, David Haley wrote in the 38th comment:
Votes: 0
As Runter said, your problem is compounded by the fact that it seems that the codebase simply never really worked. When you realize that even the official SMAUG distribution has a lot of bugs (which is why SmaugFUSS exists) it's not really surprising that random codebases here and there have lots of issues.

I realize that it might feel frustrating to have to go through tutorials that seem to move slowly. But you must learn the basics. For example, you need to understand how macros work if you are going to start replacing macros. If you knew how macros work, you would have known that your 'fix' was in fact changing what the code was doing. This might feel slow now, but has very considerable payoffs later.

Anyhow, it is very unfortunate that the base is in shambles as Runter said; what you're trying to do is kind of like learning to ride a bike after somebody gave you a rusty old one whose pedals get stuck, whose chains are breaking and with flat tires to boot. It's just not a good idea.

Out of curiosity, why are you using this codebase in particular?
19 Mar, 2010, wildmak wrote in the 39th comment:
Votes: 0
It's been years since I last played on a Mud. I started playing on Smaug (before Smaugfuss) but after a while found it lacking…. A friend mentioned his MUD which happened to be anatolia based, and was extremely fun to play, but that MUD closed down sometime after I stopped playing for a while.

Figured since it was the Mud Code that I had the most fun on, I'd install it on my local linux partition, and then go from there, with something to mess around on.

Wasn't really looking for an Active Mud, just something I could spend my free time on, have some fun, and over time learn something more about C/C++

Will keep reading up on C, and maybe eventually be able to fix it properly.
19 Mar, 2010, David Haley wrote in the 40th comment:
Votes: 0
If your goal is to tinker with it, I would strongly advise that you start with a working, compiling base. Although you might find it less fun to play, SmaugFUSS is a really good place to tinker. I cannot stress enough how hard it will be to learn if your base doesn't even compile; who knows how many other bugs and problems are lurking in there.

The other advantage of using a well-known base is that you are much more likely to find experts in how it works, who can rapidly assist.

Perhaps an interesting exercise would be to try to identify what made the MUD so fun to play, and how you might reproduce it. It's possible that the code necessary to recreate the fun aspects is actually relatively small. Or, it's possible that it was in the areas and skill design, which aren't things you'd find in the distributed base.
20.0/57