Pro4Never's project tracking thread of ultimate goodness

06/17/2010 13:09 Ian*#16
Why would you make a proxy for your private server o.o.
You can just assign a flag for characters with idk, Botting status i guess lol

And I'm sure you know how to send dialogs, you can make a whole bot menu out of that.
Skip all the bullshit lol

And I believe you have to get the password seed and then reencrypt before you send it back to get the game server to reply
06/17/2010 15:52 pro4never#17
Quote:
Originally Posted by Ian* View Post
Why would you make a proxy for your private server o.o.
You can just assign a flag for characters with idk, Botting status i guess lol

And I'm sure you know how to send dialogs, you can make a whole bot menu out of that.
Skip all the bullshit lol

And I believe you have to get the password seed and then reencrypt before you send it back to get the game server to reply
It's not for my private server... it's so i can connect to and log/decrypt packets from official tq servers which i can then use to either write my own source or upgrade existing ones.

While at it i may add some basic botting functionality just as a learning project (my intention is not to make a bot though, that's just a possibility)


@null: on my phone atm but thanks SO much. I'll take a look at it when i can steal some wireless next and i'm sure it would be a great asset. This has been my first attempt at actually writing/using sockets outside of a quick test program so every single step has served to confuse and piss me off so far really lol! Still learned so much even getting the basic parts done. Finishing it should really help expand my knowledge base and i'm looking forward to it ^^
06/17/2010 18:59 pro4never#18
<edit>

Auth encryption working now... just messing around with a efficient way to read/modify the ip/port and stuff from the packet being received so that I can continue (Guhhh so not used to doing this side of stuff).

I can get port in hex, I can get ip in string and all that... but writing my own ip and port is proving slightly more difficult. God I hate hex conversion lol.


Ok: got ip modification working. It reads the original server ip and port and updates the global value for it. It then modifies the packet to my local ip (i'll change that to a variable 'proxy ip' though) and i think i have port writing working now. I'll start messing with the sequence of things tonight and see if i can get the damn thing to work on actual login (as it is its receiving client and server packets on game socket but stops partially in login)
06/20/2010 23:25 _DreadNought_#19
Very nice looking! Almost wants me to make a proxy but I have no clue where to start apart from nullable's one he just released btw Nullable add that to ur release thing some people might find it useful

Thanks,
Eliminationn
06/21/2010 17:48 _DreadNought_#20
<update>
I found an old 5228 Proxy I have.
06/22/2010 21:33 pro4never#21
Quote:
Originally Posted by Eliminationn View Post
<update>
I found an old 5228 Proxy I have.
Woah thanks

You realize this is still working (well, at least login and everything)

Gonna take a bit more of a look through it now and see if I can do some basic packet logging/manipulation.


Ok so wow, that proxy has a ton of useful stuff built in (obviously the botting stuff doesn't work anymore because of some changes in the packets)

GREAT packet logger, loads of features although the organization is kinda lacking... For now due to lazyness I'm just rebuilding what's already there and using it as a base. Depending on if I decide to actually run a proper proxy service I may code one from scratch still but seeing as my main goal is packet logging, this is perfect.

Logged a shitload of packets yesterday and thanks to far too much free time have broken down some of the main ones (attack, general data and that kinda stuff... needless to say they haven't changed much but still.. gives me a good place to start)

Depending on how busy I am later I may throw together a basic fs leveling bot using it plus some other basic functionality.
06/23/2010 23:40 pro4never#22
Ok. Been working on this some today and my god... sooo much work to actually DO anything lol.


Been running through some packets and working on the best way to build new packets and load data from received ones.

So far I've done a bunch of re-documentation for general data/attack type packets as they are the most commonly used.

I also handled the entity spawn packet fully for monsters (right now I'm just doing a monster database rather than one for players aswell.. that can be done any time)

The new entity spawn packet handler works perfectly for mobs but I'm well aware I'll need to modify it to load in further player information. So far I just have it reading...

Monster Mesh
Monster name
Monster X
Monster Y
Monster UID
Monster Current Hp

Ignoring direction and some other stuff for now (not sure wtf I'd need it for in a botting sense).

Right now they are just being checked against valid monster UID's and then added to a database. I need to handle removing from that "local mobs" db once the mob dies or moves out of range but that's easily done.

Super basic stuff but still... making some progress (holy shit packets still serve to confuse the shit out of me usually)


[Only registered and activated users can see links. Click Here To Register...]
06/24/2010 02:01 zblowfish#23
Are you gonna be releasing this proxy 0.o?
06/24/2010 02:51 lostsolder05#24
@Elimination Did you get permission from Tanel before releasing this?

@pro4never Look's like your making steady progress.
06/24/2010 04:07 Arcо#25
Quote:
Originally Posted by lostsolder05 View Post
@Elimination Did you get permission from Tanel before releasing this?
Actually Null did that.
06/24/2010 05:38 pro4never#26
Quote:
Originally Posted by zblowfish View Post
Are you gonna be releasing this proxy 0.o?
Right now i'm mostly logging/building packet structures so i can make my own server. If i develop the proxy to the point that it has useful features then i will see if my friend wants to host it for me and let ppl use it (not releasing source, just access)

Dumb question: password encryption changed since 5095/5165? I was trying to use it to make a proper account db (to offer permission types for each account) but it didn't seem to be working, it could be that i simply wasn't using the correct offsets, i didn't pay alot of attention to it.

Ps: did some basic attack packets (yay for getting dc'd due to invalid ones lol) so maybe tomorrow i'll write a basic fs bot for auto hunting. Auto looting should be damn easy also so that will prob be next.


Question: what features would people like to see in a proxy (that can be done). Immune gave me some amazing ideas for some features he is working on but i'd like to hear the community.


My ideas for basic stuff..

Met dove locator: they have diff max hp meaning checking incoming spawn data would show the real met dove. Send a msg/sound to client to notify it of the location.

Auto hunt/loot

Speedhack

Jump to coords (include pathfinding)

Aimbot

Follow bot

Skill leveler? (Why bother....)

The best thing to do though would be to hook it into a logic server that would then perform 'normal' actions. Offer realistic vs botting modes for style of play and have it control decisions. Would allow for pseudo complex behavior such as repairing items, reviving, storing valuables, going back to a level appropriate spawn (hunting vs lvling), etc.
06/24/2010 06:57 Nullable#27
Quote:
Originally Posted by .Arco View Post
Actually Null did that.
No. mine is the one in my post, he meant the one that Eliminationn posted.
Quote:
Originally Posted by pro4never View Post
...
Dumb question: password encryption changed since 5095/5165? I was trying to use it to make a proper account db (to offer permission types for each account) but it didn't seem to be working, it could be that i simply wasn't using the correct offsets, i didn't pay alot of attention to it.
...
Yes.
[Only registered and activated users can see links. Click Here To Register...]
06/24/2010 19:36 _DreadNought_#28
Quote:
Originally Posted by lostsolder05 View Post
@Elimination Did you get permission from Tanel before releasing this?

@pro4never Look's like your making steady progress.
Haha..It was made by tanel ? nice lamo I found it on megaupload lol.
06/29/2010 02:32 pro4never#29
Well! Progress has been made!


So far I have a few basic packets coded both for Client>Server and Server>Client and for shits and giggles am now working on an auto attack bot.

Right now it's still SUPER basic because of a few things.

#1: Still working on the whole update monsters thing. I think I have them being removed on death but sometimes there are problems where the character still tries to attack dead things and stuff...

#2: No random jumping/pathfinding yet. Super easy to add of course but right now I'm just doing a basic TEST

#3: I haven't added any checks to include things such as if xp is activated or not meaning I have to manually set the delays for actions such as attacking/jumping.


That being said... it works ^^

I'll post a super basic test video once I add a couple more things to it.


<edit>

Added some more basic stuff...

-Check monster mesh so that bad things aren't being hit (guards, patrols, etc)
-Check number of attacks you have used per mob. If over MaxHits it removes that target from your mob database (so it ignores it till offscreen/back on... removes any problems with super strong monsters or the client not realizing it's dead)
-Random jumps when no monsters are in range
-Simple toggle command to easily change speeds of movement/attack/actions when in xp/not in xp. Gonna do it properly soon enough but for now it works.

As soon as I can get logged again I'll give it another shot. It was working quite nicely but being greedy I always set the speed too high end get dc'd quickly.

Dumb question but I thought I heard someone say tq doesn't check the jump/atk speed when xp is active... so shouldn't that mean it wouldn't dc me? Or do I need to modify the time stamp on the packets I send so they appear to be valid on the surface?

FINALLY got a speed that it wasn't dcing too fast with xp mode. Quick video of it in action (again.. super, super basic here)

06/29/2010 07:23 pro4never#30
So I'm an idiot. The way I wrote my bot system was completely stupid

Fatal strike was still jumping ontop of monsters before ever trying to attack them causing all sorts of dc's... plus some other stupid problems with my checks and stuff...


Updated list of progress:


Fixed Dmap Checks:
No more stupidity on my part. Also no silly small jumps when searching for mobs. This will change and be better once I add in path system (next up)

Fixed Xp botting mode:
I'm an idiot... was sending un-needed packets that ended up dcing you after like 10 attacks

Fixed time checks:
Due to me having the dc problems I had been screwing around with my delays. They are much more fine tuned now.

Added more variables for botting
Speed settings and such, nothing fancy yet



Anndddd here's the lovely video where I kinda crashed my client from attacking too fast lol!

Yahh... should just be a matter of not overloading the buffer (splitting them up more) but I did find it hella funny)


<edit>

Bahh, just remembered in some proxy dev thread that they were having a hard time with crashing client which was caused by refreshing client position so often...

Just for the hell of it I'm going to bump up the speed even more and then have it only send like 1/10 refreshes to client (you don't need them often really) and see if that fixes it.

Yay funtimes!