Go Back   RunUO - Ultima Online Emulation > RunUO > Core Modifications > Other

Other Cant find a category above, use this one! Core mods not listed above go here!

Reply
 
Thread Tools Display Modes
Old 07-27-2007, 11:10 PM   #1 (permalink)
Account Terminated
 
Join Date: Mar 2007
Posts: 58
Default authid

In packethandlers.cs there is this code in the GameLogin function:

Code:
            int authID = pvSrc.ReadInt32();

           
            if ( !IsValidAuthID( authID ) )
            {
                Console.WriteLine( "Login: {0}: Invalid client detected, disconnecting [PacketHandlers GameLogin() 1]", state );
                state.Dispose();
                return;
            }
            else if ( state.m_AuthID != 0 && authID != state.m_AuthID )
            {
                Console.WriteLine( "Login: {0}: Invalid client detected, disconnecting [PacketHandlers GameLogin() 2]", state );
                state.Dispose();
                return;
            }
            else if ( state.m_AuthID == 0 && authID != state.m_Seed )
            {
                Console.WriteLine( "Login: {0}: Invalid client detected, disconnecting [PacketHandlers GameLogin() 3]", state );
                state.Dispose();
                return;
            }
The first if statement checks if the authID sent by the client matches with one previously sent to the client during the first login step, correct?

Now what I'm trying to do is a server redirect, so that people can see a list of shards that are hosted on multiple IP/ports, so when they do this, then that ID is invalid when they hit that packet handler, as the ID was generated at the login server, not on the destination server. My system works fine if I comment out the first if statement. But I don't feel right just doing that and calling it a day.

Does this ID thing do anything in particular, regarding security? I really can't see why, given there still needs to be a password authentication done on the destination server, but thought I would check. It obviously exists for a reason.

If I need to keep it, I have an idea how I'll work around the issue. I'll probably code a logon server thats is a separate program you run, and it will send a special packet to all servers in the list so that they have the IDs in the array. Or something along those lines. Probably how OSI does it as their shards are certainly on separate servers.
quantomsadmn is offline   Reply With Quote
Old 07-28-2007, 01:26 AM   #2 (permalink)
Master of the Internet
 
Lord_Greywolf's Avatar
 
Join Date: Dec 2005
Posts: 6,011
Send a message via Yahoo to Lord_Greywolf
Default

this may or may not help you - but there is a sript for runing multiple server on the same system - using different ports -- it would be easier to use it than to modify the core
just an fyi for ya
__________________
http://www.AoAUO.com

:) ..... Come for the Customs, Play for the Fun. Return to see your new Friends ..... :)
Lord_Greywolf is offline   Reply With Quote
Old 07-28-2007, 03:16 AM   #3 (permalink)
Account Terminated
 
Join Date: Mar 2007
Posts: 58
Default

Quote:
Originally Posted by Lord_Greywolf View Post
this may or may not help you - but there is a sript for runing multiple server on the same system - using different ports -- it would be easier to use it than to modify the core
just an fyi for ya
Yeah was pretty sure this existed, though I don't think anything exists for running on separate IPs. What I want to do is have the main server and a couple test shards, but they'll all be on several different physical servers.
quantomsadmn is offline   Reply With Quote
Reply

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off



Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0 RC5