JazzJackrabbit Community Forums

JazzJackrabbit Community Forums (http://www.jazz2online.com/jcf/index.php)
-   General Jazz Jackrabbit Talk (http://www.jazz2online.com/jcf/forumdisplay.php?f=4)
-   -   CODERS SAVE THE JJ2 PLEASE! (http://www.jazz2online.com/jcf/showthread.php?t=19322)

Grytolle Jan 17, 2012 04:15 PM

Quote:

Originally Posted by Neobeo (Post 473875)
A quick example is that a client only receives the positions of players that are within his screen. (assume 640x480, say)

Sounds like it would work, but then the "cloud"-function still works (not that it's as critical a problem)

Neobeo Jan 17, 2012 04:33 PM

What is this "cloud" function exactly?

Grytolle Jan 17, 2012 05:45 PM

Quote:

Originally Posted by Neobeo (Post 473877)
What is this "cloud" function exactly?

It adds a trail to any player with low health, so you know whether he should be killed off or not (you wanna keep all enemies on low health in CTF so you can make timed scores)

Neobeo Jan 17, 2012 10:26 PM

Essentially we want clients to only know things they're supposed to know, i.e. things in their own screen and their own health. So if the server doesn't tell them other players' healths and other players' locations (other than the ones they can see), that should effectively prevent the "cloud"?

Grytolle Jan 17, 2012 11:32 PM

No, as the clouds are only visible within your screen :) Basically if you see someone standing ready to recapture with a cloud around him, you leave him be, otherwise you hit him and run away again. You could also see that the enemy flag has low health and scream GO RTS! and then kill him off. And you would never fall it when a flag carrier camps at the carrot with 3 hearts just in order to get hit on purpose and take C (in order to get rid of the C and to hurt opponents)

Like I said, this is really minor compared to the actual radar function of the program, but it's still quite a problem

Vegito Jan 18, 2012 02:21 AM

Cloud only works for the client, not for others in your screen in the first place. The most helpful things of radar are indeed the radar itself and being able to see everyones health. Cloud will just remind you that you're low health basically.

There is one thing about not sending positions to players I wonder about.. What about the arrow to the flag/flagcarrier? I guess that'll break?

Harmen Jan 18, 2012 05:17 AM

Quote:

A quick example is that a client only receives the positions of players that are within his screen. (assume 640x480, say)
I am trying to create this right now but it is very hard

Ktos. Jan 18, 2012 05:58 AM

I've got stupid idea. Let's force everyone to play with fullscreen with some kind of stupid program maybe, only for ladders etc.

Toni_ Jan 18, 2012 07:26 AM

Ktos, indeed, it's a stupid idea. How do you expect me to play on 23" monitor in fullscreen? Shall I be on the distance of 3m or something for such a game? It's hard for me. I always play on windowed mode.

Zerg Jan 18, 2012 08:22 AM

Quote:

Originally Posted by Just a Random User (Post 473892)
Ktos, indeed, it's a stupid idea. How do you expect me to play on 23" monitor in fullscreen? Shall I be on the distance of 3m or something for such a game? It's hard for me. I always play on windowed mode.

yes, it has low fps on big scrrens like mine...

wKtK Jan 18, 2012 08:30 AM

50" here. gg.

Anyway, back ontopic.

Is there anything I could do without modifying jj2 itself? I mean, most of the serverside solutions (if we go for a server-side solution) depend on Jazz2 performing non-default behaviour. I could learn to modify jj2, but in that time someone more experienced in that are could come up with a solution.

ShakerNL Jan 18, 2012 09:29 AM

Let's all move to 1.20 :happyface:

Neobeo Jan 18, 2012 10:55 AM

Here is my quick, untested attempt at a fix (v1.23 / v1.23+):
Patch Jazz2.exe at position 0x885C5 from "76" to "EB".
Patch Jazz2.exe at position 0x887B9 from "1C" to "00".
Patch Jazz2.exe at position 0x887FF from "8A 51 3E" to "B2 07 90".

What this hopefully does is:
The first two patches prevents the server from sending any information to a client about other players that are not within his screen (given by |dx| < 640 and |dy| < 480). The third patch tells the client that all other players have 7 hearts of health.

Would be nice if someone (preferably with the aforementioned cheating program) could test this.

Violet CLM Jan 18, 2012 12:27 PM

As someone who can't host and besides doesn't have the radar program, I can't test this directly, but it sounds like that doesn't address Vegito's concern that arrows in CTF could no longer point to the flag carrier?

Toni_ Jan 18, 2012 12:44 PM

"You must spread some Reputation around before giving it to Neobeo again"

Well, unfortunately I deleted Radar2 because it's a semi-spyware. It can harm my computer, and I have a lot of documents for what I don't have any backup.

Also, a program what does the patching should be there, since a lot of people doesn't know how to do that editing, including me. And everytime I want to reinstall JJ2 I must look for this thread to find what to do.

@Violet, at least he found way to prevent sending information about players positions and real health (well, someone could have 7h if /smhealth is 7, but we don't care, don't we?) from server to client. Thanks him for that. I hope he finds the way to prevent freezed arrow, too!

Vegito Jan 18, 2012 12:48 PM

I could test it or send the program to either of you 2 to test it. Someone would have to give me a patched jazz2+.exe otherwise (1.23 is ok).

Either way, it is a good start to solve this problem. We'll have to find solutions for the rest too I guess :).

Toni_ Jan 18, 2012 01:29 PM

Well, Veg said to me... it works! I mean, that patch fixes the main problem, and it is not sending info to the clients. Nice job Neobeo, once again!

Vegito Jan 18, 2012 01:53 PM

No I didn't say it works? It doesn't work in fact. DZ and I tried it. How can you say that when I didn't say it xd. I said we were gonna test/see if it works. Lol.
Anyway, maybe someone else can try to edit Jazz2 that way.

Harmen Jan 18, 2012 02:00 PM

when I tested it (with artem) it did not work
radar still gave location and the health of the players

Grytolle Jan 18, 2012 02:41 PM

Quote:

Originally Posted by Violet CLM (Post 473900)
As someone who can't host and besides doesn't have the radar program, I can't test this directly, but it sounds like that doesn't address Vegito's concern that arrows in CTF could no longer point to the flag carrier?

Well, it'd be a longer patch, but you could make the arrow point in the right direction by sending a position that is in the same line but just barely outside of the visible area

Harmen Jan 18, 2012 02:48 PM

@NeoBeo
I am trying this now for all day but I try it in assembler by searching udpsend function and make it first check if the player is in the screen before sending

Neobeo Jan 18, 2012 03:39 PM

Quote:

Originally Posted by Grytolle (Post 473913)
Well, it'd be a longer patch, but you could make the arrow point in the right direction by sending a position that is in the same line but just barely outside of the visible area

This patch will probably require some extra assembly code (so fits better in a DLL). Plus I'll need to look into the arrow-making function, as I don't really know how this works.

Quote:

Originally Posted by Harmen (Post 473914)
@NeoBeo
I am trying this now for all day but I try it in assembler by searching udpsend function and make it first check if the player is in the screen before sending

My patch should in theory already do that (modulo errors). It needs an extra patch at position 0x885C5 from "76" to "EB" (also to prevent sending of packets outside visible region). I've updated my original patch post accordingly. The health patch should work properly though.

master sven Jan 19, 2012 02:38 AM

Neobeo :)

DanZeal Jan 19, 2012 03:27 AM

Quote:

Originally Posted by Neobeo (Post 473899)
Here is my quick, untested attempt at a fix (v1.23 / v1.23+):
Patch Jazz2.exe at position 0x885C5 from "76" to "EB".
Patch Jazz2.exe at position 0x887B9 from "1C" to "00".
Patch Jazz2.exe at position 0x887FF from "8A 51 3E" to "B2 07 90".

Not working. Radar is still showing other players. But nice to see you working on this!

Vegito Jan 19, 2012 03:49 AM

It also showed health when we tested it yesterday

KRSplat Jan 19, 2012 04:13 AM

I conceptualize that Referees shall verify recorded Matches only After viewing Series of Screenshots and/or process Logs from the machine running Jazz2 of each participant, inclusive of spectators.

It might could work; and might could Not.

Harmen Jan 19, 2012 04:40 AM

how about seekers that follow a player outside the window?
a seeker following a player is client sided...
if the client doesnt know where the player is what will happen

Vegito Jan 19, 2012 06:20 AM

I suppose we can only find out by trying. It could result in a ton of airhits, heh

Neobeo Jan 19, 2012 06:28 AM

Quote:

Originally Posted by DanZeal (Post 473923)
Not working. Radar is still showing other players. But nice to see you working on this!

Hmm... it certainly works for me. Granted, I haven't sorted out any bugs such as seekers/arrows or whatever had been mentioned; just making sure the basic code works first. But patching the server with this code definitely makes the client see nothing outside his screen (client doesn't need to be patched), and a health of 7. I should probably add some notes here: firstly that the player doesn't "disappear", he simply stops moving once outside the visible region. and secondly that the health is shown as 7 only when player enters the visible region, and is not updated otherwise. (doesn't have to be 7. anything from 1-7 works by changing the middle byte)

Of course, I only tested this on v1.23 (not plus), in both battle and ctf, so it might be some plus implementation. I don't have this Radar app, but however it works it can't possibly obtain information which isn't being given.

Toni_ Jan 19, 2012 08:57 AM

Quote:

Originally Posted by Vegito
No I didn't say it works? It doesn't work in fact. DZ and I tried it. How can you say that when I didn't say it xd. I said we were gonna test/see if it works. Lol.
Anyway, maybe someone else can try to edit Jazz2 that way.

I am SURE you told me yesterday, somewhere in Zeal Duels, that patching prevents radar working as is should work.

DanZeal Jan 19, 2012 09:50 AM

Quote:

Originally Posted by Neobeo (Post 473928)
Of course, I only tested this on v1.23 (not plus), in both battle and ctf, so it might be some plus implementation. I don't have this Radar app, but however it works it can't possibly obtain information which isn't being given.

Yes, tested without plus now, and it works. Seems like plus is doing something, or I did something wrong with the plusified exe.

ShadowGPW Jan 20, 2012 07:22 AM

I pity the ones that are using these kind of tools to win their game. Does it REALLY make you happy in the end? What do you gain with it? These kind of tools wreck online play. You should contact anti-cheat makers for help. (Punkbusted for example). Also these kind of people should be banned forever on tournaments and community webpages.

Toni_ Jan 20, 2012 08:58 AM

And also, if they get banned, they will make more cheats and spread them on MSN/anywhere else, and their revenge would be extremely hard for JJ2 to survive.

Harmen Jan 20, 2012 10:51 AM

@Just a Random User
that is why there is being made a program to delete all cheats

Toni_ Jan 20, 2012 11:07 AM

So, if there is already a program, why don't you use it to delete all cheats?

Grytolle Jan 20, 2012 11:09 AM

That sounds a bit unethical lol

Jeans Jan 22, 2012 06:02 AM

A Big Project
 
Well, I've been talking to Gry and Veg about it and this is what we thought out:
We need to create completely new version of JJ2. We don't have source that's why we need a lot of people knowing ASM to decompile JJ2 1.24 TSF (This is the most common used one for online). As I am not so good in low-level things like Assembler I need your help for that. Also: The code cannot be shown out of the trustee team of developers till releasing new version.
The new version will include completely new league connected with JJ2 program. This may be left for me. Please write here if you want to help with that. We'd need:
- Assembler programmers (Mostly to analyse the old code)
- C++ programmers (WinSocket + DDraw a plus)
- Interface designers
- Graphic designers
If we found a team that is big enough I would create the whole project and show you all.
This would solve every problem with cheating. And much, much more. To know further details contact me at bigboob0@hotmail.com.

Sean Jan 22, 2012 06:06 AM

While I'm not as uptight as Robo4900 about legality, I still wouldn't recommend outright decompiling JJ2.

Toni_ Jan 22, 2012 09:22 AM

Isn't it just easier to somehow find blur somewhere and bug him to try to do something for this. He could try to block server sending info to the client about it's position and it's healths what are outside the visible block by the client aka resolution, just like nimrod said.

I appriciate nimrods work but it doesn't work for plus, it works only for normal jj2. blur would probably know how to make that, since he knows how JJ2 works, too. Well, not all functions, but a lot of them.

Could someone contact blur about this?

cooba Jan 22, 2012 10:36 AM

I've e-mailed blur.


All times are GMT -8. The time now is 12:58 PM.

Powered by vBulletin® Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
JCF © 2001-Infinity Jazz2Online