|
|
 |
 |
 |
 |
|
 |
 |
|
 |
 |
|
 |
|
Support::Linux Servers Support forum for Linux EQEMu users. |

11-06-2008, 04:53 PM
|
Developer
|
|
Join Date: Feb 2004
Location: UK
Posts: 1,540
|
|
I'll test those changes out and incorporate them. I'll probably also get around to downloading the latest GCC and updating the source at some point so it compiles under it, as these issues come up on a fairly regular basis. Thanks.
|
 |
|
 |

11-06-2008, 06:25 PM
|
AX Classic Developer
|
|
Join Date: May 2006
Location: filler
Posts: 2,049
|
|
Am I doing this right;
Code:
__asm __volatile (
"push %%ebx" //Kobaz
"xorl %%ebx, %%ebx\n"
"movl %1, %%esi\n"
"movl %2, %%ecx\n"
"movl $CRC32Table, %%edi\n"
"shrl $2, %%ecx\n"
"jz 1f\n"
".align 4\n"
"0:\n"
"movb %%al, %%bl\n"
"movl (%%esi), %%edx\n"
"shrl $8, %%eax\n"
"xorb %%dl, %%bl\n"
"shrl $8, %%edx\n"
"xorl (%%edi,%%ebx,4), %%eax\n"
"movb %%al, %%bl\n"
"shrl $8, %%eax\n"
"xorb %%dl, %%bl\n"
"shrl $8, %%edx\n"
"xorl (%%edi,%%ebx,4), %%eax\n"
"movb %%al, %%bl\n"
"shrl $8, %%eax\n"
"xorb %%dl, %%bl\n"
"movb %%dh, %%dl\n"
"xorl (%%edi,%%ebx,4), %%eax\n"
"movb %%al, %%bl\n"
"shrl $8, %%eax\n"
"xorb %%dl, %%bl\n"
"addl $4, %%esi\n"
"xorl (%%edi,%%ebx,4), %%eax\n"
"decl %%ecx\n"
"jnz 0b\n"
"1:\n"
"movl %2, %%ecx\n"
"andl $3, %%ecx\n"
"jz 2f\n"
"movb %%al, %%bl\n"
"shrl $8, %%eax\n"
"xorb (%%esi), %%bl\n"
"xorl (%%edi,%%ebx,4), %%eax\n"
"decl %%ecx\n"
"jz 2f\n"
"movb %%al, %%bl\n"
"shrl $8, %%eax\n"
"xorb 1(%%esi), %%bl\n"
"xorl (%%edi,%%ebx,4), %%eax\n"
"decl %%ecx\n"
"jz 2f\n"
"movb %%al, %%bl\n"
"shrl $8, %%eax\n"
"xorb 2(%%esi), %%bl\n"
"xorl (%%edi,%%ebx,4), %%eax\n"
"2:\n"
"pop %%ebx" //Kobaz
:
: "a" (val), "g" (buf), "g" (bufsize)
: "bx", "cx", "dx", "si", "di"
);
return val;
}
It still 'clobbers' on the clobber machine, and on the server where the code works I get 'Bad register name' error
|
 |
|
 |

11-06-2008, 07:25 PM
|
Hill Giant
|
|
Join Date: Nov 2008
Location: Gold Coast, Oz
Posts: 119
|
|
You have to change
Code:
: "bx", "cx", "dx", "si", "di"
to
Code:
: "cx", "dx", "si", "di"
as well as save and restore ebx
|

11-06-2008, 07:42 PM
|
AX Classic Developer
|
|
Join Date: May 2006
Location: filler
Posts: 2,049
|
|
Ok, but now I get this;
Quote:
../common/crc32.cpp:240: Error: bad register name `%ebxxorl %ebx'
../common/crc32.cpp:291: Error: bad register name `%ebx2:'
|
If you need a SSH to my machine so you can make tests, send me a PM
|

11-06-2008, 07:51 PM
|
Hill Giant
|
|
Join Date: Nov 2008
Location: Gold Coast, Oz
Posts: 119
|
|
I really need new glasses....
You are missing the \n at the end of the push and pop lines. Look at the last post I made that starts "Fixed code seems to be:".
It's things like that that remind me how much I hated assembler back in the day when I had to do it. And that was on 8 and 16 bit processors.
|

11-06-2008, 08:09 PM
|
AX Classic Developer
|
|
Join Date: May 2006
Location: filler
Posts: 2,049
|
|
That's cool, I'm really glad to see this get fixed - it went through this time (no clobber), I'll run the server with it a few days ), make sure it's all OK, then post again here.
Thank you for helping out!
|
 |
|
 |

11-06-2008, 08:55 PM
|
Hill Giant
|
|
Join Date: Nov 2008
Location: Gold Coast, Oz
Posts: 119
|
|
Next Problem
I'm sure I'm missing something obvious, but things are not quite right.
I can login with minilogin.
I can create a toon and it's saved to the DB.
When I enter tutorialb, the mobs are there, but they don't move. #loc and #search don't work. After a minute or so I get the "disconnected" screen.
eqemu_debug_world.log:
Code:
11355 [11.07. - 10:09:12] [WORLD__CLIENT] New connection from 192.168.0.50:2010
11355 [11.07. - 10:09:12] [NET__IDENT_TRACE] 192.168.0.50:2010: First opcode 0x4dd0 did not match expected 0x2792
11355 [11.07. - 10:09:12] [NET__IDENT_TRACE] 192.168.0.50:2010: Tried patch 6.2_world, and it did not match.
11355 [11.07. - 10:09:12] [NET__IDENT_TRACE] 192.168.0.50:2010: First opcode 0x4dd0 did not match expected 0x2ec9
11355 [11.07. - 10:09:12] [NET__IDENT_TRACE] 192.168.0.50:2010: Tried patch 6.2_zone, and it did not match.
11355 [11.07. - 10:09:12] [NET__IDENT_TRACE] 192.168.0.50:2010: First opcode matched 0x4dd0 and length matched 464
11355 [11.07. - 10:09:12] [NET__IDENTIFY] Identified stream 192.168.0.50:2010 with signature Titanium_world
11355 [11.07. - 10:09:12] [WORLD__CLIENT] Checking inbound connection 192.168.0.50 against BannedIPs table
11355 [11.07. - 10:09:12] [WORLD__CLIENT] Connection 192.168.0.50 PASSED banned IPs check. Processing connection.
11355 [11.07. - 10:09:12] [WORLD__CLIENT] john: Logged in. Mode=(CharSel)
11355 [11.07. - 10:09:12] [WORLD__CLIENT] john: MiniLogin Account #1
11355 [11.07. - 10:10:46] [WORLD__CLIENT] john: Attempting autobootup of tutorialb (189)
11355 [11.07. - 10:10:46] [WORLD__ZONE] [6] Setting to 'tutorialb' (189)
11355 [11.07. - 10:10:46] [WORLD__CLIENT] john: Entering zone tutorialb (189)
11355 [11.07. - 10:10:46] [WORLD__ZONE] [6] [tutorialb] Broadcasting a world time update
11355 [11.07. - 10:10:46] [WORLD__ZONE] [6] [tutorialb] Setting to 'tutorialb' (189)
11355 [11.07. - 10:10:46] [WORLD__CLIENT] john: Sending client to zone tutorialb (189) at 192.168.0.24:7005
11355 [11.07. - 10:10:46] [WORLD__CLIENT] john: Client disconnected (not active in process)
11355 [11.07. - 10:11:20] [WORLD__ZONELIST] Removing zoneserver #6 at :7005
11355 [11.07. - 10:11:20] [WORLD__ZONELIST] Hold Zones mode is ON - rebooting lost zone
11355 [11.07. - 10:11:20] [WORLD__LAUNCH] zone: dynamic_03 reported state STOPPED (2 starts)
11355 [11.07. - 10:11:32] [WORLD__LAUNCH] zone: dynamic_03 reported state STARTED (3 starts)
11355 [11.07. - 10:11:32] [WORLD__ZONE] New TCP connection from 127.0.0.1:43102
11355 [11.07. - 10:11:32] [WORLD__CONSOLE] New zoneserver #7 from 127.0.0.1:43102
11355 [11.07. - 10:11:32] [WORLD__ZONE] [7] Zone started with name dynamic_03 by launcher zone
11355 [11.07. - 10:11:32] [WORLD__ZONE] [7] Auto zone port configuration. Telling zone to use port 7006
11355 [11.07. - 10:12:52] [WORLD__CLIENT] New connection from 192.168.0.50:2017
eqemu_debug_zone.log:
Code:
11370 [11.07. - 10:05:34] [WORLD__CLIENT] New connection from 192.168.0.50:2007
11370 [11.07. - 10:05:35] [NET__IDENT_TRACE] 192.168.0.50:2007: First opcode 0x7752 did not match expected 0x2792
11370 [11.07. - 10:05:35] [NET__IDENT_TRACE] 192.168.0.50:2007: Tried patch 6.2_world, and it did not match.
11370 [11.07. - 10:05:35] [NET__IDENT_TRACE] 192.168.0.50:2007: First opcode 0x7752 did not match expected 0x4dd0
11370 [11.07. - 10:05:35] [NET__IDENT_TRACE] 192.168.0.50:2007: Tried patch Titanium_world, and it did not match.
11370 [11.07. - 10:05:35] [NET__IDENT_TRACE] 192.168.0.50:2007: First opcode 0x7752 did not match expected 0x61c9
11370 [11.07. - 10:05:35] [NET__IDENT_TRACE] 192.168.0.50:2007: Tried patch Anniversary_world, and it did not match.
<snip lots of this>
11370 [11.07. - 10:05:35] [NET__IDENT_TRACE] 192.168.0.50:2007: First opcode matched 0x7213 and length matched 68
11370 [11.07. - 10:05:35] [NET__IDENTIFY] Identified stream 192.168.0.50:2007 with signature Titanium_zone
11370 [11.07. - 10:05:35] [WORLD__CLIENT] New client from 192.168.0.50:2007
and then no more references to the client machine (192.168.0.50)
client is 192.168.0.50
loginserver is 192.168.0.50
server is 192.168.0.24
server config:
Code:
<?xml version="1.0">
<server>
<world>
<shortname>xxxxxx</shortname>
<longname>xxxxxx Family Game</longname>
<!-- Only specify these two if you really think you need to. -->
<address>192.168.0.24</address>
<localaddress>192.168.0.24</localaddress>
<!-- Loginserver information. -->
<loginserver>
<host>192.168.0.50</host>
<port>5999</port>
<account></account>
<password></password>
</loginserver>
<unlocked></unlocked>
<!-- Sets the shared key used by zone/launcher to connect to world -->
<key>kiw9083wdfgesiwud</key>
<!-- Enable and set the port for the HTTP service. -->
<http port="9080" enabled="true" mimefile="mime.types" />
</world>
<!-- Database configuration, replaces db.ini. -->
<database>
<host>localhost</host>
<port>3306</port>
<username>eq</username>
<password>xxxxxxx</password>
<db>eqemu</db>
</database>
</server>
loginserver.ini:
Code:
###Your current configuration is as follows:
#loginserver.ini:
[LoginServer]
loginserver=127.0.0.1
loginport=5999
#worldname=
#worldaddress=
#locked=false
#account=
#password=
[WorldServer]
Defaultstatus=
Unavailzone=
[ChatChannelServer]
worldshortname=
chataddress=
chatport=
[LoginConfig]
ServerMode=Minilogin
ServerPort=5999
Any advice as to what to look at?
|
 |
|
 |
Thread Tools |
|
Display Modes |
Hybrid Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 02:25 PM.
|
|
 |
|
 |
|
|
|
 |
|
 |
|
 |