PDA

View Full Version : Compiling/running world/zone on FreeBSD [patch] [long] [1/2]


var1ety
01-06-2003, 07:03 PM
I'm attaching a link to a patch to let you compile/run zone and world on a FreeBSD machine. Successfully compiled/running/talking on a 4.7-STABLE machine with one small problem, when I select a character to log in with I get booted back to the server select screen. I'm not sure if the cause of this is network configuration or FreeBSD at fault; I will try and look again at my network configuration tomorrow, but it seems alright right now. Messages from world and zone are included at the end of this message, and a unified diff against the 0.4.1 release package is attached.

It seems like the two programs are talking fine, and zone even loads up a zone in response to the player attempting to log in, so not sure what the issue might be.

Anyhow, on to the good stuff: To compile you need the devel/linuxthreads port, MySQL libs/headers, and uh, the other normal stuff. I compiled using gcc version 2.95.4. More info on the sourceforge patch page.

http://sourceforge.net/tracker/index.php?func=detail&aid=663533&group_id=41381&atid=430534

if SF doesn't update with the damned attached file i'll just post a followup with the patch in the message body. Uploading files doesn't seem to work anywhere =P

World/Zone output follows; was using minilogin which was running on a win2k pc with no firewalling =(

*****WORLD*****
[timothy@repose:~/devel/eqemu/bin]$ ./world
Using database 'eq' at localhost
EQEMu 0.4.1 Spekkio
Loading zone names & items...
...done.
LoginServer.ini read.
Loading guild ranks...done.
Loading EQ time of day...done.
Breaking bards...done
World server listening on: port 9000
Connected to LoginServer: 192.168.0.10:5999
New TCP connection: 127.0.0.1:1139
New zoneserver: #1 127.0.0.1:1139
Zoneserver SetConnectInfo: 127.0.0.1:1139: 127.0.0.1:7995
63919 New client from ip: 192.168.0.10 port: 1565
Logged in: Local: eqemu
Guild Send Request...
Sending character information.
Unknown opcode: 0x3541 size:2056
Unknown opcode: 0x3941 size:2056
Unknown opcode: 0x9240 size:12
0: 00 00 00 0E 00 00 00 00 - 00 00 00 00 | ............
Unknown opcode: 0x9240 size:12
0: 00 00 00 0E 00 00 00 00 - 00 00 00 00 | ............
Attempting autobootup of 'gfaydark' for Timothy
Broadcasting a world time update
Zoneserver SetZone: 127.0.0.1:7995 gfaydark
Charlogin: Timothy
Enter world: Timothy: gfaydark
Broadcasting a world time update
Zoneserver SetZone: 127.0.0.1:7995 gfaydark
Broadcasting a world time update
Client disconnected
Removing client from ip:192.168.0.10 port:1565


*****ZONE*****
[timothy@repose:~/devel/eqemu/bin]$ ./zone . 127.0.0.1 7995 127.0.0.1
Using database 'eq' at localhost
EQEMu 0.4.1 Spekkio
Loading zone names, items & NPCs...
...done.
If this is the last message you see, you forgot to move spells_en.txt from your EQ dir to this dir.
Spells loaded.
Loading guild ranks...done.
Loading faction data...done.
Connected to worldserver: 127.0.0.1:9000
Entering sleep mode
Init: Loading zone lists, zone state or spawn list, player corpses, timezone data - Done. ZoneID = 54; Time Offset = 0
Reading zhdr file './cfg/gfaydark.cfg'
Using database for safe coords.
Zone safe coords are x = 10; y = -20; z= 0
Reading zhdr file './cfg/gfaydark.cfg'
Using database for safe coords.
Zone safe coords are x = 10; y = -20; z= 0
Corrupt (or nonexistant) zhdr file ./cfg/gfaydark.cfg -- fread count = 0 (should be 170)
Using default zone header data...
-----------
Zone server 'gfaydark' listening on port:7995
-----------
Received Message SyncWorldTime
Time Broadcast Packet: EQTime [05:54 am]

Joolz
01-07-2003, 01:22 AM
Without the cfg file, nothing will work.

kathgar
01-07-2003, 09:54 AM
Well it seems to be reading the zhdr more than once...unless the c+p screwed it up. There may still be problems with the fbsd netstack.. i would get a packet log and compare from a linux one. Our netcode doesn't work well at all together (linux and win32 and such).

var1ety
01-07-2003, 10:20 AM
Thank you, Joolz, replacing my cfgs with a fresh set fixed the issue. I can now log in and zone and all that neat crud.

Someone please test the patch =) Gonna add a def to include the headers only if you define freebsd, but dunno how to deal with the makefile changes, which are both integral and non-portable to other OSes.

Also, thank you kathgar, the config thing was a messed up copy and paste, didn't even notice when I pasted =)

Trumpcard
01-08-2003, 01:48 AM
make a new makefile called makefilefreebsd and i'll check it in with the other make files.

You'll just need to do a

make -f makefilebsd on freebsd to build it (or you can copy makefilebsd to makefile)

If you ifdef the changes needed, I'll merge it into the baseline.

var1ety
01-08-2003, 05:57 AM
Changes are all ifdef'd, I'll move the commented freebsd compile lines to their own makefile and update the readme I included in the diff and repost to SF; thank you for the suggestion, that'll be a lot more elegant and easier to understand =)

Trumpcard
01-08-2003, 06:24 AM
Sure thing ! I'll grab it off SF tonight assuming my cable modem starts working again and put the new makefile in.

Nice, another supported OS. :-)

var1ety
01-08-2003, 08:56 PM
uploaded gzipped tarball to sourceforce with entire copies of changed files for windows users out there, updated for cvs, lemme know if they work, or stop something else from working..