Inside3D!
     

QuakeC Masking IPs - how to make listen mode compatible?
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Inside3d Forums Forum Index -> QuakeC Programming
View previous topic :: View next topic  
Author Message
Baker



Joined: 14 Mar 2006
Posts: 1538

PostPosted: Thu May 18, 2006 7:07 pm    Post subject: QuakeC Masking IPs - how to make listen mode compatible? Reply with quote

Is there a way to mask IP addresses in Quake, but in a way that a mod can also be run in listen mode without it crashing?

Here is the IP Mask code:

Quote:
//IP SUB_MASK code by JPG

void (float p) net_hide_ip =
{
local float dotcount;
local float px;

px = AddInt(&"xxx", PSTRING_TO_PQUAKEC);
p = AddInt(p, %-3);//p = -3

&%116 = 0;

for (dotcount = 0 ; dotcount < 3 ; p = AddInt(p, %1))
{
&%113 = (*p)[0];
if (world[%5] == '.')
dotcount = dotcount + 1;
}
p = AddInt(p, %3);
(*p)[0] = (*px)[0];
};

float () net_connect =
{
local string ip;
local string ip2;
local float p;

p = AddInt(&self.netconnection, QS_ADDRESS * 4);
ip = @AddInt(p, PQUAKEC_TO_PSTRING);
ip2 = @AddInt(&ip, 0);
strcpy(ip2, ip);
net_hide_ip(p);
return TRUE;
};



But that refuses to run in listen mode and the mod crashes. When combined with this, for some reason it STILL crashes

Quote:
// Only Mask when IP isn't Local
if (self.address != "LOCAL")

{

net_hide_ip(p);

}
Back to top
View user's profile Send private message
TimeServ



Joined: 08 Jun 2005
Posts: 15

PostPosted: Thu May 18, 2006 7:50 pm    Post subject: Reply with quote

I suppose by listen server you mean the majority of NetQuake engines as opposed to just standard Quake or 1 client in particular? Then pretty much no. QCCX code like that has to be tailored to whatever executable you're running it to since it's essentially escaping out of the QuakeC VM to modify variables normally only within the scope of the engine.
Back to top
View user's profile Send private message
Sajt



Joined: 16 Oct 2004
Posts: 1026

PostPosted: Thu May 18, 2006 10:19 pm    Post subject: Reply with quote

Please, please, no QCCX code. QCCX pointers and ints and arrays etc. are not evile but full blown EVIL.
_________________
F. A. Špork, an enlightened nobleman and a great patron of art, had a stately Baroque spa complex built on the banks of the River Labe.
Back to top
View user's profile Send private message
Baker



Joined: 14 Mar 2006
Posts: 1538

PostPosted: Thu May 18, 2006 11:14 pm    Post subject: Reply with quote

I understand that

Quote:
These suck and no one knows what/how they do it:

&%116 = 0;

&%113 = (*p)[0];


Nevertheless, unless there is another way to do it, the qccx method is what we have to use. Sad Sad
Back to top
View user's profile Send private message
TimeServ



Joined: 08 Jun 2005
Posts: 15

PostPosted: Thu May 18, 2006 11:23 pm    Post subject: Reply with quote

There is another way to do it. Throw out the banning code within the QC and find or create an engine with IP banning capabilities. Believe it or not that would be much easier than trying to maintain the QCCX code.
Back to top
View user's profile Send private message
Baker



Joined: 14 Mar 2006
Posts: 1538

PostPosted: Thu May 18, 2006 11:31 pm    Post subject: Reply with quote

TimeServ wrote:
There is another way to do it. Throw out the banning code within the QC and find or create an engine with IP banning capabilities. Believe it or not that would be much easier than trying to maintain the QCCX code.


I agree. But this ends up going down another complicated road.

A lot of players/servers use ProQuake and it's cheat-free capability and it's digitally signed (and not being actively developed).

If we modify the server engine code and compile, it is no longer a digitally signed build and hence, not capable of running in cheat-free mode.

Fun!!! Sad Sad
Back to top
View user's profile Send private message
Sajt



Joined: 16 Oct 2004
Posts: 1026

PostPosted: Thu May 18, 2006 11:35 pm    Post subject: Reply with quote

Honestly, QCCX is BAAad
_________________
F. A. Špork, an enlightened nobleman and a great patron of art, had a stately Baroque spa complex built on the banks of the River Labe.
Back to top
View user's profile Send private message
TimeServ



Joined: 08 Jun 2005
Posts: 15

PostPosted: Fri May 19, 2006 12:09 am    Post subject: Reply with quote

Well if you insist on keeping the QCCX hacks, you could isolate all the QCCX-isms in the game logic into seperate .qc files and compile 2 differents progs (one preferably not compiled with QCCX) for use with your mod.
Back to top
View user's profile Send private message
Baker



Joined: 14 Mar 2006
Posts: 1538

PostPosted: Fri May 19, 2006 12:18 am    Post subject: Reply with quote

TimeServ wrote:
Well if you insist on keeping the QCCX hacks, you could isolate all the QCCX-isms in the game logic into seperate .qc files and compile 2 differents progs (one preferably not compiled with QCCX) for use with your mod.


Well, I can tell you that these complicated QCCX hacks --- barely documented and poorly understood by most --- are something I find very inconvenient, to say the least.

Word is, two people have a copy of the ProQuake 3.10 source -- which is a version that had the cheat-free in the main codebase, instead of isolated to an optional separate dll.

Maybe someday cheat-free can live on in another engine, if there aren't going to be any more upgrades to the ProQuake server engine. (And I don't know for absolute certain that there won't be).
Back to top
View user's profile Send private message
FrikaC
Site Admin


Joined: 08 Oct 2004
Posts: 947

PostPosted: Fri May 19, 2006 3:08 am    Post subject: Reply with quote

From what LordHavoc and Spike have told me, this ProQuake's cheat free system is horribly insecure. I don't think you should invest so much faith in it.
_________________
Back to top
View user's profile Send private message Send e-mail
Baker



Joined: 14 Mar 2006
Posts: 1538

PostPosted: Fri May 19, 2006 4:50 pm    Post subject: Reply with quote

FrikaC wrote:
From what LordHavoc and Spike have told me, this ProQuake's cheat free system is horribly insecure. I don't think you should invest so much faith in it.


I don't. There is one well-known exploit and one newer one that when combined largely defeat the whole intent.

Plus non-ProQuake clients can't connect to PQ servers running in cheat-free mode and if Quake is to have a future, that isn't very helpful.

Add to that, ProQuake requires pop.lmp to run an OpenQuartz-style "FreeQuake" total conversion (<--- that name can't be used, of course -- "TM") which isn't helpful either.

The whole trick, in my mind, is getting from point A (where NQ is now) to getting to point B (a client and server neutral and ideal development environment). I don't like what is arguably described as "vendor" lock due to the above list.

Sounds impossible, heheh. Maybe it is. But, it's never stopped me in the past. Very Happy Very Happy

But in the very short term, I have to work with what I have.
Back to top
View user's profile Send private message
scar3crow
Inside3D Staff


Joined: 18 Jan 2005
Posts: 837
Location: Las Vegas, NV

PostPosted: Fri May 19, 2006 5:26 pm    Post subject: Reply with quote

And I was just about to write an article about how ProQuake is at the best divisive, and in this case, divisive and incompotent. There is already the (very silly) QW-NQ division, and ProQuake-CheatFree just creates a further divide within servers.

I can see the use of a cheatfree object within engines, but having it so exclusive is just... elitist? That and I must say, I trust thework of LordHavoc and Spike far beyond that of someone who apparently left the community years ago (and did what is considered gamecode in the engine....).

Then again, I just say use DP (Bank is the only person with an excuse to not, his video card is proof of blackholes apparently). It runs fast, looks good, tastes good, supports damn near everything, and I must say, I dont feel a difference whether Im on a QW or NQ server with it, which to me just ends the whole divide. So... LordHavoc, Spike... good cheat free module - the world will be yours!
Back to top
View user's profile Send private message AIM Address
leileilol



Joined: 15 Oct 2004
Posts: 1321

PostPosted: Fri May 19, 2006 5:48 pm    Post subject: Reply with quote

BUT BTU BWUT IT DONSNT BUDNEL WITH ANY TEXURE AN MODEL PACKS!!!! FOR NOBS!!! DARKPALCES IS GAY USE QRACK.
_________________
Back to top
View user's profile Send private message
Baker



Joined: 14 Mar 2006
Posts: 1538

PostPosted: Fri May 19, 2006 6:41 pm    Post subject: Reply with quote

scar3crow wrote:
I can see the use of a cheatfree object within engines, but having it so exclusive is just... elitist?


It wasn't elitist. At the time, it was "security through obscurity" and JPG expressed interest in allow non-ProQuake clients to connect and maybe even work with the XQuake author (which failed because the XQuake author did not GPL his engine code, consequently, got his site shut down at PlanetQuake).

Quote:
Then again, I just say use DP (Bank is the only person with an excuse to not, his video card is proof of blackholes apparently).


Video card issues are real life. I can name at least 30 NQ players that use software and those are just the ones I know. Partial list from QuakeOne.com

Any engine without a software build cannot be a replacement Quake. The only engines with both GL builds and software builds are: EZQuake, FuhQuake, ZQuake, ProQuake, JoeQuake, original Quake, FTEQW (<-- which doesn't, last time I checked, connect to NetQuake servers).

Quote:
It runs fast, looks good, tastes good, supports damn near everything, and I must say, I dont feel a difference whether Im on a QW or NQ server with it, which to me just ends the whole divide. So... LordHavoc, Spike... good cheat free module - the world will be yours!


Many NetQuake multiplayer mods, if not a majority of them, use at least some "qccx hacks". They would have to be de-qccx'ed.

Some aren't open source, CA+ and CRMOD.

Hence the world is a very complicated place.
Back to top
View user's profile Send private message
leileilol



Joined: 15 Oct 2004
Posts: 1321

PostPosted: Fri May 19, 2006 6:51 pm    Post subject: Reply with quote

then they should shut up and get a proper card instead of being helpless shadowalkers with a lost cause

a geforce 256 does not cost much.
_________________
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Inside3d Forums Forum Index -> QuakeC Programming All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2004 phpBB Group