|
You last visited: Today at 14:06
Advertisement
[Albertos-Help]--DC PROBLEM
Discussion on [Albertos-Help]--DC PROBLEM within the CO2 Private Server forum part of the Conquer Online 2 category.
06/17/2012, 03:21
|
#1
|
elite*gold: 0
Join Date: May 2008
Posts: 477
Received Thanks: 178
|
[Albertos-Help]--DC PROBLEM
i succesfuly ran Albertos Source and i see its a very nice source compared to other all typical sources this is a new one ...
but i am facing strange problem (s)
1-sometimes i get dc after loading -- trying to login for first time CLIENT SAYS [Disconnected with the server ]
[2-after char create i immediatly get dc
Log ;
first is i already connected
then the 2nd and 3rd lines are after i clicked create char
the 4th line the dc
so what is my problem is the problem from me or its an Albertos Bug ?
3-My ping is kinda high for localhost connection its 50!
4-
5- when i run the source and the first time i enter the char i always get this
__________
Small Questions =
1- How many players can the source handle
2- When the server starts it says some smap files are missed where i cant find ?
3- Is the study point supported ?
4- what is the known bugs of the source so i know what i am going for ... ?
5- where is the table responsible for the exp rate or its in the source?
Other than those things till now the source is the best source i ever seen with every thing arranged and no ***** at all ... really thanks to pro4never
|
|
|
06/17/2012, 04:27
|
#2
|
elite*gold: 0
Join Date: May 2008
Posts: 1,769
Received Thanks: 1,142
|
50 is a normal ping for localhost with a Conquer server. A lot of things have to be processed before the packet gets sent back to the client, so 50 milliseconds is not high at all.
As far as the unknown item positions, it must have something to do with creating items for new users. No idea what those positions are, the patch I work with only has 7 different positions. No bottles, garments, talismans, horses, etc.
As for disconnections, are you doing something that would cause the source to disconnect you? Run the source in debug mode and watch the output in Visual Studio.
|
|
|
06/17/2012, 15:46
|
#3
|
elite*gold: 0
Join Date: May 2008
Posts: 477
Received Thanks: 178
|
about the ping i only said thats abit high cuz with other source i was having a ping of 13ms so that what made me think about it
and no i thought about that and tried to run the source directly withour visual studio ... the same problem immediatly after creating char before even the loading starts i get DC
|
|
|
06/17/2012, 18:31
|
#4
|
elite*gold: 20
Join Date: Jun 2006
Posts: 3,296
Received Thanks: 924
|
The first time you try to log in on a char after starting the server, you will always disconnect. This is a bug and I think that pro said that he didn't know what caused it.
Character creation will not automatically go into the game because... well I don't know but it's easy to change. I'm not 100% sure as I haven't touched albetros for a while but I think this code made you auto enter the game after character creation:
Code:
#region 1001 Character creation
case 1001:
{
byte PacketType = packet[4];// packet reader
switch (PacketType)
{
case 0:
{
/// <summary>
/// this is where the create button is clicked
/// </summary>
#region Create
try
{
CreatePlayerPacket msg = ptr;
user.Name = msg.FirstName;
if (!Kernel.ValidChars.IsMatch(user.Name) || user.Name.Length < 3 || user.Name.Length >= 16)
{
user.SendPopupMsg("Invalid name!");
break;
}
if (!(msg.Model == 1003 || msg.Model == 1004 || msg.Model == 2001 || msg.Model == 2002))
{
user.SendPopupMsg("Invalid model!");
break;
}
if (!(msg.Job == 10 || msg.Job == 20 || msg.Job == 40 || msg.Job == 50 || msg.Job == 60 || msg.Job == 100))
{
user.SendPopupMsg("Invalid job!");
break;
}
if (Database.NameExists(user.Name))
{
user.SendPopupMsg("Name is in use!");
break;
}
if (user.Create(msg))
if (Database.CreatePlayer(user))
{
var response = new TalkPacket("SYSTEM", "ALLUSERS", "ANSWER_OK", string.Empty, 0xffffff, ChatType.Register);
user.Send(response);
}
else
Console.WriteLine("Failed making char");
}
catch (Exception X) { Console.WriteLine(X); }
break;
#endregion
}
case 1:
{
/// <summary>
/// Disconnect/Remove the client
/// </summary>
#region Disconnect if the client Clicked the back button
if (Kernel.Clients.ContainsKey(user.UID)) { Kernel.Clients[user.UID].Disconnect(true); user.Client.Disconnect(false); return; }
break;
#endregion
}
}
break;
}
#endregion
If not, well I probably lost it then.
Those item slots do not exist, the loading code simply loops through slots and due to TQ skipping a few numbers, it tries to load non-existing slots.
Ping is fine.
No clue about the booths.
Same question as the first one but with an image?
No clue, get player and you'll notice how many player it can handle eventually.
Those smaps don't exist, I provided a DMaploader in the albetros thread that skips those.
No clue.
No clue.
levexp table.
|
|
|
06/17/2012, 20:11
|
#5
|
elite*gold: 0
Join Date: May 2008
Posts: 477
Received Thanks: 178
|
thx Kiyono i find your post very useful
About the first time dc problem , if pro4never has explaination for it please tell me
and its not (the first time i open server its the first time client is opened ...)
|
|
|
06/17/2012, 20:16
|
#6
|
elite*gold: 0
Join Date: May 2008
Posts: 1,769
Received Thanks: 1,142
|
For the reason that might DC you, I don't know about newer sources, but 0xFFFFFF isn't a valid ID, and shouldn't be sent for character creation. Try changing it to 0. Also, confirm that the ChatType is correct, I don't know what Register is set to.
|
|
|
06/17/2012, 20:39
|
#7
|
elite*gold: 0
Join Date: May 2008
Posts: 477
Received Thanks: 178
|
the first dc problem only happen the first time you open the client ..at connectin to gameserver.. idk why and only happen when opening the client for the first time
the second dc is after the char creation and its because the item loc ids
|
|
|
06/17/2012, 20:40
|
#8
|
elite*gold: 0
Join Date: Mar 2009
Posts: 228
Received Thanks: 47
|
for shops, check "sobs" table
|
|
|
06/17/2012, 21:17
|
#9
|
elite*gold: 0
Join Date: May 2008
Posts: 477
Received Thanks: 178
|
Kiyono your code Freeze at the loading
|
|
|
06/17/2012, 21:46
|
#10
|
elite*gold: 20
Join Date: Jun 2006
Posts: 3,296
Received Thanks: 924
|
Quote:
Originally Posted by badguy4you
Kiyono your code Freeze at the loading
|
Guess I lost the code then, back when I did stuff with albetros I'd regularly kill my source and restore backups so yeah.
|
|
|
06/17/2012, 21:51
|
#11
|
elite*gold: 0
Join Date: May 2008
Posts: 477
Received Thanks: 178
|
you did not remember what caused this problem ? cuz its 2 hours of trial and failuer till now i though the problem was the 0xFFFFFF but it seems other thing causing it
and revised the register message and its ok so idk what really cause the freeze at the char creation loading screen ...
it says Character Succesfuly created and then freezes
thats why pro4never used the
if (user.Name != "Monkenstein")
{
user.Disconnect(false);
return;
}
so only monkenstein enters but even him freezes
|
|
|
06/17/2012, 22:01
|
#12
|
elite*gold: 0
Join Date: May 2008
Posts: 1,769
Received Thanks: 1,142
|
Quote:
Originally Posted by badguy4you
you did not remember what caused this problem ? cuz its 2 hours of trial and failuer till now i though the problem was the 0xFFFFFF but it seems other thing causing it
and revised the register message and its ok so idk what really cause the freeze at the char creation loading screen ...
it says Character Succesfuly created and then freezes
thats why pro4never used the
if (user.Name != "Monkenstein")
{
user.Disconnect(false);
return;
}
so only monkenstein enters but even him freezes
|
On newer patches, I believe there's supposed to be another packet sent afterwards. Try sending the redirect to the game server.
|
|
|
06/17/2012, 22:07
|
#13
|
elite*gold: 0
Join Date: May 2008
Posts: 477
Received Thanks: 178
|
i think in other source the Message was sent in other way that was working but i dont remember something pro4never missed
if i got the problem i will post the solution here in the guieds so try helping me guys ... i am trying
in the source pro4never says "//Need to figure out what packet we are missing. Right now I'm sending Hero info, map enter, datetime. (the delay was because there was time gap between adding to db and being able to pull"
is hero info included the HP,MANA,BODY,CLASS,BONUSPOINTS
or i got it wrong ?
its very annoying to find a hell bug in the first step of the long way of fixing maybe short way
bump^500
and where is the RATING Table --- not the required lvl exp i need the table of exp rate and drop rate
|
|
|
06/17/2012, 23:28
|
#14
|
elite*gold: 20
Join Date: Jun 2006
Posts: 3,296
Received Thanks: 924
|
Uhm, I just setup my MySQL database so I could test character creation and the code works. I go straight from character creation into the game without disconnecting.
|
|
|
06/17/2012, 23:32
|
#15
|
elite*gold: 0
Join Date: May 2008
Posts: 477
Received Thanks: 178
|
Lol
i just replace the
Quote:
#region 1001 Character creation
case 1001:
{
byte PacketType = packet[4];// packet reader
switch (PacketType)
{
case 0:
{
/// <summary>
/// this is where the create button is clicked
/// </summary>
#region Create
try
{
CreatePlayerPacket msg = ptr;
user.Name = msg.FirstName;
if (!Kernel.ValidChars.IsMatch(user.Name) || user.Name.Length < 3 || user.Name.Length >= 16)
{
user.SendPopupMsg("Invalid name!");
break;
}
if (!(msg.Model == 1003 || msg.Model == 1004 || msg.Model == 2001 || msg.Model == 2002))
{
user.SendPopupMsg("Invalid model!");
break;
}
if (!(msg.Job == 10 || msg.Job == 20 || msg.Job == 40 || msg.Job == 50 || msg.Job == 60 || msg.Job == 100))
{
user.SendPopupMsg("Invalid job!");
break;
}
if (Database.NameExists(user.Name))
{
user.SendPopupMsg("Name is in use!");
break;
}
if(user.Create(msg))
if (Database.CreatePlayer(user))
{
//#warning It lets you log in but will not display the User Interface. Till it's fixed I'm gonna just disconnect them
if (user.Name != "Monkenstein")
{
user.Disconnect(false);
return;
}
System.Threading.Thread.Sleep(150);//delay to make sure database has finished updating
if (Database.PullLogin(user))
{
if (Kernel.Clients.ContainsKey(user.UID))
Kernel.Clients.Remove(user.UID);
Kernel.Clients.Add(user.UID, user);
Database.UpdateOnline();
var response = new TalkPacket("SYSTEM", "ALLUSERS", "ANSWER_OK", string.Empty, 0xffffff, ChatType.Register);
user.Send(response);
return;
user.Send(PlayerInfoPacket.Create(user));
if (user.Health < 1) user.Health = 1;
user.Send(DateTimePacket.Create());
UserManager.LoginUser(user);
user.GuildAttribute.Create();
Database.ModifyAccount(0, "Hash", user.UID); Database.ModifyAccount(0, "Timestamp", user.UID);
}
// New_Role.Add(user.UID);// threadsafe ? no
// var response = new TalkPacket("SYSTEM", "ALLUSERS", "ANSWER_OK", string.Empty, 0xffffff, ChatType.Register);
// user.Send(response);
else
Console.WriteLine("Failed loading justmade char");
}
else
Console.WriteLine("Failed making char");
}
catch (Exception X) { Console.WriteLine(X); }
break;
#endregion
}
case 1:
{
/// <summary>
/// Disconnect/Remove the client
/// </summary>
#region Disconnect if the client Clicked the back button
if (Kernel.Clients.ContainsKey(user.UID)) { Kernel.Clients[user.UID].Disconnect(true); user.Client.Disconnect(false); return; }
break;
#endregion
}
}
break;
}
#endregion
|
with your code
Quote:
#region 1001 Character creation
case 1001:
{
byte PacketType = packet[4];// packet reader
switch (PacketType)
{
case 0:
{
/// <summary>
/// this is where the create button is clicked
/// </summary>
#region Create
try
{
CreatePlayerPacket msg = ptr;
user.Name = msg.FirstName;
if (!Kernel.ValidChars.IsMatch(user.Name) || user.Name.Length < 3 || user.Name.Length >= 16)
{
user.SendPopupMsg("Invalid name!");
break;
}
if (!(msg.Model == 1003 || msg.Model == 1004 || msg.Model == 2001 || msg.Model == 2002))
{
user.SendPopupMsg("Invalid model!");
break;
}
if (!(msg.Job == 10 || msg.Job == 20 || msg.Job == 40 || msg.Job == 50 || msg.Job == 60 || msg.Job == 100))
{
user.SendPopupMsg("Invalid job!");
break;
}
if (Database.NameExists(user.Name))
{
user.SendPopupMsg("Name is in use!");
break;
}
if (user.Create(msg))
if (Database.CreatePlayer(user))
{
var response = new TalkPacket("SYSTEM", "ALLUSERS", "ANSWER_OK", string.Empty, 0xffffff, ChatType.Register);
user.Send(response);
}
else
Console.WriteLine("Failed making char");
}
catch (Exception X) { Console.WriteLine(X); }
break;
#endregion
}
case 1:
{
/// <summary>
/// Disconnect/Remove the client
/// </summary>
#region Disconnect if the client Clicked the back button
if (Kernel.Clients.ContainsKey(user.UID)) { Kernel.Clients[user.UID].Disconnect(true); user.Client.Disconnect(false); return; }
break;
#endregion
}
}
break;
}
#endregion
|
Result : the loading says Character Created succesfuly but freezes at !
Here is a screen shot from the console & game .
buuuumpppp
Kiyonooo Need your help
Second Need pro4never to tell if any solve for the strange problem of getting dc after the first time i open the client ( When the client isopened for the first time it must dc once then i can login )
|
|
|
All times are GMT +2. The time now is 14:06.
|
|