Game Development Community

Pak files???

by Shannara · in Torque Game Engine · 08/29/2004 (2:56 pm) · 28 replies

I assuming the pack/unpack code in Tribes2 were not released with Torque. So does anybody know of a way to do this with torque? It's quite (unprofessional?) risky (majorly risky) to have all those files exposed to the open for criminals (hackers) to fool around with.
Page «Previous 1 2
#1
08/29/2004 (3:03 pm)
What files are you wanting to conceal?

when you say Pak files, do you mean the zip files with the renamed extensions?
#2
08/29/2004 (3:06 pm)
All of the client ones. and yeppers I am supposing, I believed the Quake series and such packed their files into one file, and extracted/loaded/deleted as needed. Client side scripts have no business being exposed. Or else the player could modify them for their own use and screw up the game royaly. There are others, images and such.
#3
08/29/2004 (3:15 pm)
Yes, TGE still has the Zip capability in it. All you need to do is change the extension in the engine to whatever you want, like I could make mine...

.gtc

for example. But, it wouldn't matter much because the first thing someone is going to try to do is open it with WinRar which doesn't care what the extension is, it will recognize the format as the same as .zip and open it right up.


If you are planning on making a multiplayer game then it wouldn't matter much if a client messed with the client side scripts, the server will not allow him to do any more than you program it to. And trying to keep people from hacking your game is a waste of time. They'll hack it no matter what you do to it. That subject has been covered in incredible detail time and time again. The final conclusion is aalways the same, "Don't waste the time."


You can ship just the precompiled .dso's if you want a little bit of safety to keep out casual file browsing, but even that won't help against someone with basic TGE or Tribes 2 knowledge. Reason being they can export all your code right out of the game.
#4
08/29/2004 (11:31 pm)
You might want to look at CFL here sol.planet-d.net/code.html

While still not perfect, it adds encryption and other nifty things. Adding another protective layer for your game assets.
#5
08/30/2004 (12:20 am)
Personally, as an indie, I think its better to allow people to mod your games. It extends the life of the game and if someone makes a killer mod, you may end up selling more copies (counter strike anyone?)
#6
08/30/2004 (7:11 am)
Gonzo: How do you change the extension and where? As far as I see in the demo all of the files are on there own with no option to pack them. And no mentioning in the scarce docs.
#7
08/30/2004 (9:05 pm)
"You can ship just the precompiled .dso's if you want a little bit of safety to keep out casual file browsing"

Hmmm would this work? I mean, if my main scripts calls exec ("script.cs"); doesn't the cs really need to be there? Or should I call script.dso?

Thanks
#8
08/31/2004 (3:13 am)
...
#9
08/31/2004 (4:20 am)
Thanks :)
#10
08/31/2004 (4:41 am)
Quote:Personally, as an indie, I think its better to allow people to mod your games.

I agree, but then theres a difference between giving access to everything to be able to MOD, and giving controlled access to generate a relativly 'safe' MOD path.
#11
08/31/2004 (7:52 am)
So nobody knows how to give Torque Pak support?
#13
08/31/2004 (8:22 am)
Thanks for the info, looks like ResManager takes care of this and I will need to modify the C++ source code of the engine to get the bugger to work, and with a non-zip extension. :) Looks like I will be posting a resource on this bugger so people can have vol/zip/pak file support for their engines.
#14
08/31/2004 (9:20 am)
PAK files are ZIP files that have been renamed...

my_stuff.zip -> my_stuff.pak

They are the same algorithm and format.
#15
08/31/2004 (9:23 am)
I know what they are .... I did read the link you provided before.. lol. But the fact that the link specifically stated that it will only open .zip extension files (renaming it to pak or whatever else makes it another step for criminals to try to decipher). So in order to support other extensions, I will have to modify th code. Plus still need to modify it to actually accept packed files since the link did not show a way to do so.
#16
08/31/2004 (11:43 am)
You mean this line from resManager.cc?

// see if it's a zip
      const char *extension = dStrrchr (ro->name, '.');
      [b]if (extension && !dStricmp (extension, ".zip"))[/b]
      {
         // Copy the path and files names to the zips resource object
         ro->zipName = rInfo.pFileName;
         ro->zipPath = rInfo.pFullPath;
         scanZip(ro);
      }

You'll probably want to change the next section as well:

bool ResManager::setModZip(const char* path)
{
   // Get the path and add .zip to the end of the dir
   [b]const char* ext =  ".zip";[/b]
#17
09/12/2004 (3:13 pm)
So game hackers are criminals?
ID software made millions more than they would have because hackers cracked the BSP tree code and the actual source code of Doom. They smartley sat back and even gave them information on how to get into the data files.

It seems to me if you want to lock people out then do most of the code in C++. Then just do minimal scripting.

Another option would to use password protected zip files and write code in Torque to unlock the files during operation. No matter what you do you will have to get into the C++.
#18
09/12/2004 (5:45 pm)
IMO the best solution here is to build your game, and then sit down and decide what stuff you dont want them to access, what stuff you do want them to access, and then what stuff makes no difference. Take all the stuff you don't want accessed and either code it directly into the engine, or ship the .dso's with a new extension wrapped in a zip with a new extension. That way the info they could get is very minimal and most likely they'll mess with what you left them to mess with while leaving alone the stuff that's virtually useless because of the packing.
#19
09/13/2004 (2:07 am)
I think that all that encrypting and protecting is a waste of time. Every game can be open, but dont worry, proffesional developer wont use your content for his/her own game. Then again it might but it will be noticed soon enough becouase changing your textures, models or whatever so that can fit the game would take more time then creating one from a scratch so it's not really usefull to steal other's people work. If it used for creating mod then let them use all of the content, make a read me file, explain them how they can do it. It will definetly extend your game life :)
IMHO of course :)

P.S. Sorry for my english but it's not my native language
#20
09/15/2004 (2:59 pm)
If anyone has code samples for using the resManager, please help us. Only reason i'd like to utilise this function is that it reduces amount of files "visualy" and looks neat.

Thanx

E
Page «Previous 1 2