Compiling/running world/zone on FreeBSD [patch] [long] [1/2]
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...81&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] |
Without the cfg file, nothing will work.
|
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).
|
server
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 =) |
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. |
Makefiles
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 =)
|
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. :-) |
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..
|
All times are GMT -4. The time now is 06:55 AM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.