QuakeC Masking IPs - how to make listen mode compatible?
Moderator: InsideQC Admins
24 posts
• Page 1 of 2 • 1, 2
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:
But that refuses to run in listen mode and the mod crashes. When combined with this, for some reason it STILL crashes
Here is the IP Mask code:
//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
// Only Mask when IP isn't Local
if (self.address != "LOCAL")
{
net_hide_ip(p);
}
-

Baker - Posts: 3666
- Joined: Tue Mar 14, 2006 5:15 am
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.
- TimeServ
- Posts: 38
- Joined: Wed Jun 08, 2005 4:02 pm
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!!!
-

Baker - Posts: 3666
- Joined: Tue Mar 14, 2006 5:15 am
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).
-

Baker - Posts: 3666
- Joined: Tue Mar 14, 2006 5:15 am
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.
-

Baker - Posts: 3666
- Joined: Tue Mar 14, 2006 5:15 am
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!
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!
-

scar3crow - InsideQC Staff
- Posts: 1054
- Joined: Tue Jan 18, 2005 8:54 pm
- Location: Alabama
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).
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).
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.
-

Baker - Posts: 3666
- Joined: Tue Mar 14, 2006 5:15 am
24 posts
• Page 1 of 2 • 1, 2
Who is online
Users browsing this forum: Bing [Bot] and 1 guest