players of my server are Using a sucking Cheat

07/09/2010 11:07 sohaib#1
hi, i heave a co pserver 5165

the players are cheating in,

the are using a cheat like Clonnage, he give some items to a noob, then he open another window of conquer, and he login in the place of the character who gave the items to noob, and he clone the items....

i have seen in some 5095 version, you can't login in a character if he is online

can i do this in 5165, and if it's possible tell me how!!

thanks
07/09/2010 13:35 EnoiZe#2
You want to check if an Player is allready online?
Just add an new item at the mysql struct of your chars.
Maybe call it online.
If Player login set it to true or whatever.

If now someone login with that account check that flag if its true and disconnect him.
I think for that is no code needed to give you.
07/09/2010 13:41 tere12#3
Thats called "Bugged character", in some 5165 theres such crap, player has items, he gives them away, after relog he gets them back, i had same bug lol
07/09/2010 15:51 sohaib#4
and how can i stop these problems, and cheats? all players are +15
07/09/2010 21:28 MonstersAbroad#5
uh Anti-cheat?
07/10/2010 06:58 Fish*#6
go to GameWorker.cs
find:
Code:
                        if (PacketID == 1052)
                        {
                            try
                            {
                                ulong CryptoKey = BitConverter.ToUInt64(Data, 4);

                                AuthWorker.AuthInfo Info = (AuthWorker.AuthInfo)AuthWorker.KeyedClients[CryptoKey];
                                GC.AuthInfo = Info;
                                GC.MessageID = (uint)Rnd.Next(50000);
                                GC.Soc = StO.Sock;
under it put:
Code:
                                if (Game.World.H_Chars.Contains(GC.MyChar.EntityID))
                                {
                                    GC.AddSend(Packets.SystemMessage(GC.MessageID, "Account is already logged in!"));
                                }
No idea if it work, but try :)
Please leave feedback if it work or not.
07/10/2010 10:55 sohaib#7
it's not working , after puting the code, no one can login, it say (Disconnected from game server....)
07/10/2010 22:30 Fish*#8
okay i will look at it, when im home :D
07/10/2010 22:51 262315610#9
Quote:
Originally Posted by sohaib View Post
hi, i heave a co pserver 5165

the players are cheating in,

the are using a cheat like Clonnage, he give some items to a noob, then he open another window of conquer, and he login in the place of the character who gave the items to noob, and he clone the items....

i have seen in some 5095 version, you can't login in a character if he is online

can i do this in 5165, and if it's possible tell me how!!

thanks

'noob' mean??
'Clonnage' mean??

I can't know your mean!!!!

Can you description again???
07/10/2010 22:52 262315610#10
If you let me know what you mean .... I will fix that quick!!
07/11/2010 00:55 pro4never#11
Yah you need to check when a player is logging in to see if they are already logged in. If so disconnect the character and end the packet handling.

GUESSING here

if (Game.World.H_Chars.Contains(GC.MyChar.EntityID))
{
Game.World.H_Chars.Remove(GC.MyChar.EntityID);
GC.MyChar.Disconnect(); //or w/e the disconnect function in lotf is
return;
}
07/12/2010 13:26 Basser#12
if (Game.World.H_Chars.Contains(GC.MyChar.EntityID))
{
GC.AddSend(Packets.SystemMessage(GC.MessageID, "Account is already logged in!"));
}

Has to be added after the "ANSWER_OK" message, if not, the client will disconnect.
So make sure you first send ANSWER_OK.