Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

About client v1 #8

Open
Rain0Ash opened this issue Aug 16, 2018 · 22 comments
Open

About client v1 #8

Rain0Ash opened this issue Aug 16, 2018 · 22 comments

Comments

@Rain0Ash
Copy link

Rain0Ash commented Aug 16, 2018

@sxeroot
Copy link

sxeroot commented Aug 16, 2018

well dont know much about the security russian client used but that message sais that since 2017 date the gameguard is turned off i guess that client still tries to use GG and fails since prolly the licensing of it is expired.

as for the database its still just the client database unfortunately alot of usefull data but unless im missing it a bunch is still not there

if anyone has a link of the 1.2 russian client they accidentaly put the server database in it when they were localizing and released it, thats how most of the online item databases got their data for the game.

@Rain0Ash
Copy link
Author

Rain0Ash commented Aug 16, 2018

I think we should run the client in any way without GG. I already forgot where it was, but I read that in some version there was also a server db in the client. For the first time the client started to run, but the computer decided to rest (maybe because of the client), after rebooting, it gives this error.
P.S. Can anyone write to archeage mail.ru support? 😄 😄 😄

@DancerS
Copy link

DancerS commented Aug 16, 2018

archeage.exe -r +auth_ip 127.0.0.1:1237 -uid test -token 11111111111111111111111111111111111111111111111111 11111111111111 +acpxmk

+acpxmk - disable GameGuard
-r - localization ru
+auth_ip - address and port of the server login
-uid - account name
-token - password (32 bytes) exactly in this form this password will come to the login.

+acpxmk always put at the end of all parameters that the game will not crash.

@Rain0Ash
Copy link
Author

Thanks.
default

@Rain0Ash
Copy link
Author

Wait, that's another question. I have a very long (or infinite) movie without sound.
default
default
Either this screen saver when there is no connection with the server.

@JeyFrey
Copy link

JeyFrey commented Aug 16, 2018

@sxeroot
Someone in this forum had the compact_server, so anyone russian speaking could ask there if anyone still has a backup.
https://forum.zone-game.info/showthread.php?t=33319&page=13

Guess my Google translator russian wont be enough.

@DancerS
Copy link

DancerS commented Aug 16, 2018

I asked, no

@DancerS
Copy link

DancerS commented Aug 16, 2018

I tried everything I already know, but I could not remove this error in the database. Maybe someone knows how to fix it?

[Warning] failed: invalid polymorphic type: FlyingStateChangeEffect - decrypt.sqlite3
where this fix on bd ?((

@Rain0Ash
Copy link
Author

Yes, the server base appeared in 1.2, in addition, I believe that this version is better. However, for all the time of searching I found only a couple of references to it, which are also much more likely not working. And two links to piratebay without distributors.
example
https://tapochek.net/viewtopic.php?t=154971
http://tas-ix.net/viewtopic.php?t=98543
account is required, account is not registered
http://gamesontorrent.ru/pc-torrents/8158-archeage-russkij-klient-distributiv-11-04-2014.html (maybe)
P.S. for the links of responsibility do not carry, that I see that and throw off. AT YOUR OWN RISK
I did not find anything else.

@JeyFrey
Copy link

JeyFrey commented Aug 16, 2018

Someone on RageZone pm'ed me about someone on Discord who has the 1.2 server database, we'll see if I can get anything.

EDIT: He is only willing to sell the files, so thats not gonna happen.
EDIT2: 60$ for the files if anyone is interested, he said.

@Rain0Ash
Copy link
Author

[Offtop] To buy a pig in a poke. What kind of people are these, dog in the manger...

@JeyFrey
Copy link

JeyFrey commented Aug 16, 2018

[Offtop Answer]Lets see, I messaged some people, called in some favors. And in the end you cant get scammed if you use PayPal. Will keep you guys updated.
Btw I read more that one or two times now that people are looking for a discord channel for this project - anyone who is more experienced with Discord willing to create a channel?

@Rain0Ash
Copy link
Author

@JeyFrey I can create Discord channel (technical and settings part)

@Rain0Ash
Copy link
Author

Created. If anyone wants - join https://discord.gg/vn8E8E6

@jekadrost
Copy link

jekadrost commented Aug 19, 2018

the shell source code and opcodes https://cloud.mail.ru/public/Bfz9/QzUjBEqh8

@nikes
Copy link

nikes commented Sep 27, 2018

Login:

RegisterPacket(0x00, typeof(LoginAccept));
            RegisterPacket(0x03, typeof(AccountInfo));
            RegisterPacket(0x08, typeof(ServerList));
            RegisterPacket(0x0a, typeof(GameserverInfo));
            RegisterPacket(0x0c, typeof(LoginDenied));

Game:

RegisterPacket(0x00, 1, typeof(ClientConnected));
            RegisterPacket(0x05, 1, typeof(Dummy));
            RegisterPacket(0x06, 1, typeof(Dummy));
            RegisterPacket(0x37, 1, typeof(Dummy));
            RegisterPacket(0xcc, 1, typeof(Dummy));
            RegisterPacket(0x1b9, 1, typeof(Dummy));
            RegisterPacket(0x1bd, 1, typeof(HSRequest));
            RegisterPacket(0x1bc, 1, typeof(HGRequest));

            RegisterPacket(0x00, 2, typeof(ChangeState));
            RegisterPacket(0x0f, 2, typeof(Dummy));
            RegisterPacket(0x13, 2, typeof(Pong));

Stream:

 RegisterPacket(0x01, typeof(Join_Re));
            RegisterPacket(0x02, typeof(DoodadStream));
            RegisterPacket(0x03, typeof(DoodadsId));

Packets.zip

It's my old sniffer xD

@nikes
Copy link

nikes commented Sep 27, 2018

Here, u can get all packets s->c & c -> s; struct & opcodes, but need using IDA Pro,
https://mega.nz/#!mNg2XSTZ!WFKks72VQEj1GN7meIL8FnNtm94WQapSPyFSwV8X0EU

@nikes
Copy link

nikes commented Sep 27, 2018

AA Client DataBase v 1.x+ + exe
https://mega.nz/#!mBRH1A5C!tYwcqMsBUa1JSK07c8mar4-rFRGo2reei9JsL38Pjw4

@NL0bP
Copy link
Owner

NL0bP commented Sep 27, 2018

@nikes Tell me, how did you work with coordinates, in particular consisting of 3 bytes? Sources can give?

@nikes
Copy link

nikes commented Sep 28, 2018

@NLObP give me 3 bytes of cords x,y,z

@nikes
Copy link

nikes commented Sep 28, 2018

@NL0bP xD, i found me old code....

public static float ConvertX(byte[] coords)
        {
            return (float)Math.Round(coords[0] * 0.002f + coords[1] * 0.5f + coords[2] * 128, 4, MidpointRounding.ToEven);
        }

        public static byte[] ConvertX(float x)
        {
            var coords = new byte[3];
            var temp = x;
            coords[2] = (byte)(temp / 128f);
            temp -= coords[2] * 128;
            coords[1] = (byte)(temp / 0.5f);
            temp -= coords[1] * 0.5f;
            coords[0] = (byte)(temp * 512);
            return coords;
        }

        public static float ConvertY(byte[] coords)
        {
            return (float)Math.Round(coords[0] * 0.002f + coords[1] * 0.5f + coords[2] * 128, 4, MidpointRounding.ToEven);
        }

        public static byte[] ConvertY(float y)
        {
            var coords = new byte[3];
            var temp = y;
            coords[2] = (byte)(temp / 128);
            temp -= coords[2] * 128;
            coords[1] = (byte)(temp / 0.5f);
            temp -= coords[1] * 0.5f;
            coords[0] = (byte)(temp * 512);
            return coords;
        }

        public static float ConvertZ(byte[] coords)
        {
            return (float)Math.Round(coords[0] * 0.001f + coords[1] * 0.2561f + coords[2] * 65.5625f - 100, 4, MidpointRounding.ToEven);
        }

        public static byte[] ConvertZ(float z)
        {
            var coords = new byte[3];
            var temp = z + 100;
            coords[2] = (byte)(temp / 65.5625f);
            temp -= coords[2] * 65.5625f;
            coords[1] = (byte)(temp / 0.2561);
            temp -= coords[1] * 0.2561f;
            coords[0] = (byte)(temp / 0.001);
            return coords;
        }

        public static float ConvertLongX(long x)
        {
            return ((x >> 32) / 4096f);
        }

        public static long ConvertLongX(float x)
        {
            return ((long)((x) * 4096)) << 32;
        }

        public static float ConvertLongY(long y)
        {
            return((y >> 32) / 4096f);
        }

        public static long ConvertLongY(float y)
        {
            return ((long)((y) * 4096)) << 32;
        }

Не мог бы ты дать мне доступ в Discord(Can u add me access to Discord)?

@NL0bP
Copy link
Owner

NL0bP commented Sep 28, 2018

@nikes welcome

NL0bP pushed a commit that referenced this issue Mar 31, 2024
-update: version to 0.0.1.2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants