|
||
|
|||||||
| Server Support on Windows Get (and give) support on general questions related to the RunUO server itself. |
![]() |
|
|
Thread Tools | Display Modes |
|
|
#1 (permalink) |
|
Newbie
Join Date: Oct 2006
Posts: 13
|
All right, now, I've investigated this a little, so I'm not just saying, "HELP ME WITH THIS:" but, I figure a good place to start is by showing you the problem I got, copy pasted from a crash log:
Exception: System.OverflowException: Arithmetic operation resulted in an overflow. at Server.Network.PacketWriter.Write(Int32 value) in c:\Users\Douglas\Documents\SharpDevelop Projects\RunUOServer - NVL\Scripts\Network\PacketWriter.cs:line 171 at Server.Network.AccountLoginAck..ctor(ServerInfo[] info) in c:\Users\Douglas\Documents\SharpDevelop Projects\RunUOServer - NVL\Scripts\Network\Packets.cs:line 3376 at Server.Network.PacketHandlers.AccountLogin_ReplyAc k(NetState state) in c:\Users\Douglas\Documents\SharpDevelop Projects\RunUOServer - NVL\Scripts\Network\PacketHandlers.cs:line 2251 at Server.Network.PacketHandlers.AccountLogin(NetStat e state, PacketReader pvSrc) in c:\Users\Douglas\Documents\SharpDevelop Projects\RunUOServer - NVL\Scripts\Network\PacketHandlers.cs:line 2228 at Server.Network.MessagePump.HandleReceive(NetState ns) in c:\Users\Douglas\Documents\SharpDevelop Projects\RunUOServer - NVL\Scripts\Network\MessagePump.cs:line 236 at Server.Network.MessagePump.Slice() in c:\Users\Douglas\Documents\SharpDevelop Projects\RunUOServer - NVL\Scripts\Network\MessagePump.cs:line 106 at Server.Core.Main(String[] args) in c:\Users\Douglas\Documents\SharpDevelop Projects\RunUOServer - NVL\Scripts\Main.cs:line 385 Basically, I checked Core.Main, and followed functions until I got to a line in packet.cs that read something like: Code:
m_Stream.Write( (sbyte) si.Timezone) ); within write( int value ), it is: Code:
public void Write( int value )
{
m_Buffer[0] = (byte)(value >> 24);
m_Buffer[1] = (byte)(value >> 16);
m_Buffer[2] = (byte)(value >> 8);
m_Buffer[3] = (byte) value;
m_Stream.Write( m_Buffer, 0, 4 );
}
if I'm horribly wrong, I'd like to know. I'd like to, you know, get better at this stuff, and I can't do that without being able to get my server running. This crash occurs when I connect to my server, I'm guessing just before or during the verification step. - Sephur |
|
|
|
|
|
#2 (permalink) |
|
Forum Expert
Join Date: Sep 2002
Age: 23
Posts: 1,472
|
It SHOULD be using the following signature:
PacketWriter.cs - Line 138 Code:
/// <summary>
/// Writes a 1-byte signed integer value to the underlying stream.
/// </summary>
public void Write( sbyte value )
{
m_Stream.WriteByte( (byte) value );
}
Not really sure why it's crashing, that should be a legit explicit conversion. Last edited by Ravatar; 11-21-2007 at 05:14 PM. |
|
|
|
|
|
#4 (permalink) |
|
Newbie
Join Date: Oct 2006
Posts: 13
|
Good news is that it got further,
Exception: System.OverflowException: Arithmetic operation resulted in an overflow. at Server.Network.AccountLoginAck..ctor(ServerInfo[] info) in c:\Users\Douglas\Documents\SharpDevelop Projects\RunUOServer - NVL\Scripts\Network\Packets.cs:line 3374 at Server.Network.PacketHandlers.AccountLogin_ReplyAc k(NetState state) in c:\Users\Douglas\Documents\SharpDevelop Projects\RunUOServer - NVL\Scripts\Network\PacketHandlers.cs:line 2251 at Server.Network.PacketHandlers.AccountLogin(NetStat e state, PacketReader pvSrc) in c:\Users\Douglas\Documents\SharpDevelop Projects\RunUOServer - NVL\Scripts\Network\PacketHandlers.cs:line 2228 at Server.Network.MessagePump.HandleReceive(NetState ns) in c:\Users\Douglas\Documents\SharpDevelop Projects\RunUOServer - NVL\Scripts\Network\MessagePump.cs:line 236 at Server.Network.MessagePump.Slice() in c:\Users\Douglas\Documents\SharpDevelop Projects\RunUOServer - NVL\Scripts\Network\MessagePump.cs:line 106 at Server.Core.Main(String[] args) in c:\Users\Douglas\Documents\SharpDevelop Projects\RunUOServer - NVL\Scripts\Main.cs:line 385 However, all it did was eliminate the last foul-up. It's still having a conniption when it gets to the AccountLoginAck() function in Packets.cs, line 3374, which is the line of: Code:
m_Stream.Write( (byte) si.TimeZone ); (I even tried explicitly setting it to 0, but all I remember is that it didn't work.) So, that's the situation thus far, keep me updated if you think of another solution. - Sephur |
|
|
|
|
|
#5 (permalink) |
|
Newbie
Join Date: Oct 2006
Posts: 13
|
I like how I'm talking to myself right now...
Anywho, I did find a line that apparently used my computer's time to set si.TimeZone to a value. I checked what would happen if I instead just kept it at 0, and this occured: Exception: System.OverflowException: Arithmetic operation resulted in an overflow. at Server.Utility.GetAddressValue(IPAddress address) in c:\Users\Douglas\Documents\SharpDevelop Projects\RunUOServer - NVL\Scripts\Utility.cs:line 423 at Server.Network.AccountLoginAck..ctor(ServerInfo[] info) in c:\Users\Douglas\Documents\SharpDevelop Projects\RunUOServer - NVL\Scripts\Network\Packets.cs:line 3375 at Server.Network.PacketHandlers.AccountLogin_ReplyAc k(NetState state) in c:\Users\Douglas\Documents\SharpDevelop Projects\RunUOServer - NVL\Scripts\Network\PacketHandlers.cs:line 2251 at Server.Network.PacketHandlers.AccountLogin(NetStat e state, PacketReader pvSrc) in c:\Users\Douglas\Documents\SharpDevelop Projects\RunUOServer - NVL\Scripts\Network\PacketHandlers.cs:line 2228 at Server.Network.MessagePump.HandleReceive(NetState ns) in c:\Users\Douglas\Documents\SharpDevelop Projects\RunUOServer - NVL\Scripts\Network\MessagePump.cs:line 236 at Server.Network.MessagePump.Slice() in c:\Users\Douglas\Documents\SharpDevelop Projects\RunUOServer - NVL\Scripts\Network\MessagePump.cs:line 106 at Server.Core.Main(String[] args) in c:\Users\Douglas\Documents\SharpDevelop Projects\RunUOServer - NVL\Scripts\Main.cs:line 385 Now, I'm just assuming it might be another problem it didn't get to because of the first one. I mean, logically, if something fails at step 4, it'll never get around to seeing that step 6 fails as well, metaphorically. So, I'm going to investigate this one, and if it just happens to be the same problem again, I'll be updating to this thread anyhow. |
|
|
|
|
|
#6 (permalink) |
|
Newbie
Join Date: Oct 2006
Posts: 13
|
So... now it seems to be having a problem with my IP Address. Apparently, I has a rough time writing it as an integer, so I tried, in a desperate attempt, to use, instead of GetAddressValue(), GetLongAddressValue(), which was completely futile, because it had to convert it into an int explicitly for the m_Stream.Write() function. *is stupid and tired*
I need some rest. I should really be doing these things on a clear head. I'm probably just missing some minor detail. I wouldn't put it past myself. My best guess right (oh jeez... I really am tired. I accidentally wrote "write" here, and I had to fix it) now is that my client files are a little behind, because that's what the server is using to run. I should probably patch up sometime. - Sephur |
|
|
|
|
|
#7 (permalink) |
|
Newbie
Join Date: Oct 2006
Posts: 13
|
I was thinking again tonight, I haven't worked much with building using an IDE. Maybe there's some setting I have that it ruins the process, or maybe (because two folders are created after a build) I'm using the .exe from the wrong folder. Is there any way that could be causing the problem?
|
|
|
|
![]() |
| Bookmarks |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|