• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Is there a working debug client?

Status
Not open for further replies.
Level 2
Joined
Jul 21, 2018
Messages
12
I am using the SharpCraft extended bundle at the moment.

I understand that you can get debug messages within the game while it's running, but the functionality of the debug client seems more appealing to me.

Unfortunately it seems to me like that functionality is not available in SharpCraft, and I understand JNGP is no longer maintained and won't work on 1.29

I've only found some attachable client (w3jdebug) having to do with grimoire, which no longer seems to be maintained. So even if it would work with 1.29, I have no idea how to incorporate it into SharpCraft.

Is anyone aware of any better way of debugging than displaying messages during the game? I don't even get any error logs.

couldn't find anything despite extensive googling, but this is worth a try :)

Thank you!
 
Level 2
Joined
Jul 21, 2018
Messages
12
There is one working for 1.28.5, however I never got it working properly.

fail project

There is also war3err for 1.22:

war3err 1.22 - Wc3C.net

There is nothing for 1.29 and I don't imagine developers porting their hacks to 1.30.

And the dude who made fail project did it FOR FUN.

wish I had a clue how to pull these things off. I can program, but don't know much about hooking and whatnot...

Anyway, thank you, sadly I couldn't find a way to get 1.28.5 except from gaming-tools, which I don't know if I can trust.

I'll keep hoping someone happens to have something while figuring out if I can trust that website...
 
Last edited:
Level 2
Joined
Jul 21, 2018
Messages
12
I think war3 Jass Debug should be suitable for you. It is still the low version of the purpose, but it works.
Tool seems to be old (from 2013), have you tried it for 1.29?

If this one doesn't pan out looks like I'll give up hope for a debugger and maybe see if I can't cobble something together myself.

If no one needs a debugger as bad as I do, it makes me start to doubt my skills as a programmer :S
 
Level 6
Joined
May 1, 2012
Messages
95
I have used a solution, but it may not be for you.

1. Use this tool actboy168/jass2lua to convert the map to a lua map.
2. actboy168/YDWE can run lua maps.
3. Debug the lua map using the lua debugger actboy168/vscode-lua-debug

Finally, this solution only works for 1.20~1.27.


BTW, as far as I know, there is no debugger you want. The debugger needs a lot of hacks for Warcraft 3. Now that blz is updated frequently and there is no convenience for third-party tools, I think it's quite difficult to make a debugger that follows the latest version of Warcraft 3.
 
Level 2
Joined
Jul 21, 2018
Messages
12
I have used a solution, but it may not be for you.

1. Use this tool actboy168/jass2lua to convert the map to a lua map.
2. actboy168/YDWE can run lua maps.
3. Debug the lua map using the lua debugger actboy168/vscode-lua-debug

Finally, this solution only works for 1.20~1.27.


BTW, as far as I know, there is no debugger you want. The debugger needs a lot of hacks for Warcraft 3. Now that blz is updated frequently and there is no convenience for third-party tools, I think it's quite difficult to make a debugger that follows the latest version of Warcraft 3.

Now this is a very interesting project!

Sadly I don't have the skills to even guess how one would go about making a debugger for WC3 (all I know is that it requires the use of hooking), but I just assumed that between all the changes, there'd still be enough in common to make fixing the debuggers easy.

For example I know storm.dll moved into an .exe in patch 1.29, seems like a minor fix for me.

But like I said, I know nothing about such things (but always happy to learn, if you have some recommended reading/googling for me! I know a bit about operating systems, compilers/interpreted language and whatnot, and I'd be happy to learn more about how one figures out where to hook and what to do...)
 
Level 6
Joined
May 1, 2012
Messages
95
Now this is a very interesting project!

Sadly I don't have the skills to even guess how one would go about making a debugger for WC3 (all I know is that it requires the use of hooking), but I just assumed that between all the changes, there'd still be enough in common to make fixing the debuggers easy.

For example I know storm.dll moved into an .exe in patch 1.29, seems like a minor fix for me.

But like I said, I know nothing about such things (but always happy to learn, if you have some recommended reading/googling for me! I know a bit about operating systems, compilers/interpreted language and whatnot, and I'd be happy to learn more about how one figures out where to hook and what to do...)

I do not know. I don't think anyone will write a tutorial to teach you how to make a Jass debugger. There are not many people who make tools for Warcraft 3, so no one will teach you how to do it. Everything needs to be explored by yourself.

Reverse engineering is a must-have skill and it is also important to understand the Warcraft 3 code. It would also be a great help if you've made debuggers in other languages.

It's worth noting that the Jass debugger is more challenging than the debuggers in other languages, because Jass is not open source and has no open API.So you can try to write a debugger in another language and then do the Jass debugger.
 
Level 2
Joined
Jul 21, 2018
Messages
12
I do not know. I don't think anyone will write a tutorial to teach you how to make a Jass debugger. There are not many people who make tools for Warcraft 3, so no one will teach you how to do it. Everything needs to be explored by yourself.

Reverse engineering is a must-have skill and it is also important to understand the Warcraft 3 code. It would also be a great help if you've made debuggers in other languages.

It's worth noting that the Jass debugger is more challenging than the debuggers in other languages, because Jass is not open source and has no open API.So you can try to write a debugger in another language and then do the Jass debugger.

I'm not looking for a tutorial on how to make a JASS debugger, I'm just looking for tutorials on how to understand these things better so I could figure it out myself :) I wouldn't ask someone to go through that much effort just to make life a little easier for me. Plus, half the fun is figuring it out

As far JASS not being open source, I'm not very worried. I've had a look at your code (well as the fail project) and I believe I could figure out myself some of the things I need to know about the internal data structures from your code (and if something comes out of this, credit will be given ofc :) )

But it's been years since I've even thought about reverse-engineering, and I'm looking for some primers and pointers. I also don't think I've ever made significant use of the windows API.

Either way, I'm assuming that JASS would actually be easier compared to many other languages since it's an interpreted language, so it could be worse... right?
 
Level 6
Joined
May 1, 2012
Messages
95
I'm not looking for a tutorial on how to make a JASS debugger, I'm just looking for tutorials on how to understand these things better so I could figure it out myself :) I wouldn't ask someone to go through that much effort just to make life a little easier for me. Plus, half the fun is figuring it out

As far JASS not being open source, I'm not very worried. I've had a look at your code (well as the fail project) and I believe I could figure out myself some of the things I need to know about the internal data structures from your code (and if something comes out of this, credit will be given ofc :) )

But it's been years since I've even thought about reverse-engineering, and I'm looking for some primers and pointers. I also don't think I've ever made significant use of the windows API.

Either way, I'm assuming that JASS would actually be easier compared to many other languages since it's an interpreted language, so it could be worse... right?

OK, good luck.
 
Status
Not open for further replies.
Top