View previous topic :: View next topic |
Author |
Message |
Baker

Joined: 14 Mar 2006 Posts: 1538
|
Posted: Thu May 18, 2006 7:07 pm Post subject: QuakeC Masking IPs - how to make listen mode compatible? |
|
|
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 |
|
 |
TimeServ
Joined: 08 Jun 2005 Posts: 15
|
Posted: Thu May 18, 2006 7:50 pm Post subject: |
|
|
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 |
|
 |
Sajt
Joined: 16 Oct 2004 Posts: 1026
|
Posted: Thu May 18, 2006 10:19 pm Post subject: |
|
|
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 |
|
 |
Baker

Joined: 14 Mar 2006 Posts: 1538
|
Posted: Thu May 18, 2006 11:14 pm Post subject: |
|
|
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.  |
|
Back to top |
|
 |
TimeServ
Joined: 08 Jun 2005 Posts: 15
|
Posted: Thu May 18, 2006 11:23 pm Post subject: |
|
|
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 |
|
 |
Baker

Joined: 14 Mar 2006 Posts: 1538
|
Posted: Thu May 18, 2006 11:31 pm Post subject: |
|
|
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!!!  |
|
Back to top |
|
 |
Sajt
Joined: 16 Oct 2004 Posts: 1026
|
Posted: Thu May 18, 2006 11:35 pm Post subject: |
|
|
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 |
|
 |
TimeServ
Joined: 08 Jun 2005 Posts: 15
|
Posted: Fri May 19, 2006 12:09 am Post subject: |
|
|
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 |
|
 |
Baker

Joined: 14 Mar 2006 Posts: 1538
|
Posted: Fri May 19, 2006 12:18 am Post subject: |
|
|
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 |
|
 |
FrikaC Site Admin

Joined: 08 Oct 2004 Posts: 947
|
Posted: Fri May 19, 2006 3:08 am Post subject: |
|
|
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 |
|
 |
Baker

Joined: 14 Mar 2006 Posts: 1538
|
Posted: Fri May 19, 2006 4:50 pm Post subject: |
|
|
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.
But in the very short term, I have to work with what I have. |
|
Back to top |
|
 |
scar3crow Inside3D Staff

Joined: 18 Jan 2005 Posts: 837 Location: Las Vegas, NV
|
Posted: Fri May 19, 2006 5:26 pm Post subject: |
|
|
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 |
|
 |
leileilol

Joined: 15 Oct 2004 Posts: 1321
|
Posted: Fri May 19, 2006 5:48 pm Post subject: |
|
|
BUT BTU BWUT IT DONSNT BUDNEL WITH ANY TEXURE AN MODEL PACKS!!!! FOR NOBS!!! DARKPALCES IS GAY USE QRACK. _________________
 |
|
Back to top |
|
 |
Baker

Joined: 14 Mar 2006 Posts: 1538
|
Posted: Fri May 19, 2006 6:41 pm Post subject: |
|
|
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 |
|
 |
leileilol

Joined: 15 Oct 2004 Posts: 1321
|
Posted: Fri May 19, 2006 6:51 pm Post subject: |
|
|
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 |
|
 |
|