RegCodeX

At the moment, it's installer-based protection (i.e. once the file is installed, it could be simply copied to the internet and redistributed). I have looked into integrating it with CS in some way, but CS isn't exactly made to be integrated with... The problem is that I don't think there's any way to do it without running an external program every time the game is started (via the URL thingy and that doesn't even work for PCs). This also doesn't provide much protection (You can always force quit the external program when it's run).

The problem with integrated protection is that I think I would need to create new a CS application to do it, which would mean I'd need the source code. Obviously that's not happening, so integration is unlikely. I have had another thought, but I'm not sure if it would work. I'll have to think it over and ask a few people. However, remember that it's unlikely...

P.S. Even with an integrated system people could just post the names and codes. Even with a time-based system like Ambrosia's (which I could do), you'd have the same problem. People could still post codes and then just set the clock back.

to launch an application that the user cannot force quit, you would need to make a damon(I think that's how it's spelled). A damon is a program that runs as a background task in OS X. Some examples are Snapz Pro X, Lasso, and escapepod.

This post has been edited by GrahamVH : 12 September 2004 - 06:31 AM

Those programs can still be killed through Activity Monitor... 😞

Alright everyone, sorry it's been a while, but I've been busy. The news:
*Fixed a bug with dialog loops
*Added an additional security feature
*Completed general stability testing with files up to 20 MB

After I talk to the guys at EE (in a week or two) I'll finish with security, touch up some dialogs and send it to beta. Sorry for the delay, but I've been busy. 😞

I've started talking to the guys at EE and I've come up with some amazing security ideas. This thing is gonna be hard to break, trust me. 😉

As soon as I finish implementing I'll talk to my dad and some others about legal issues and then it's off to the testers. When the time comes (hopefully very soon!) I'll post a thread for sign-ups. Until then, keep in mind I'd like to test on several system configurations, including Windows XP and/or 2000 (as well as other Macs and perhaps Linux).

Added another bit of security and increased number of choices for each letter to 40. Also began to send out a few finished installers to friends for testing. This revealed the following issue which everyone should be aware of: RegCodeX requires the latest version of the JRE (1.4.2 or later), available for Windows/Linux at java.sun.com (latest stable release is 1.4.2) and for Mac at apple.com. If you don't have the latest Java Runtime Environment the program will NOT run correctly (the user won't be able to install the program).

On a brighter note: after testing the current security features I will finish legal issues (license agreement, etc.) and then send it off to beta. In a week or two it should be in tester's hands (barring unforeseen disasters, at least). 🙂

P.S. I am thinking of adding a way to invalidate codes you know to be posted illegally on the net. Would people be interested in this, yes, no, maybe?

CI-Ia0s, on Oct 18 2004, 03:03 AM, said:

P.S. I am thinking of adding a way to invalidate codes you know to be posted illegally on the net. Would people be interested in this, yes, no, maybe?
View Post

I think that is the best idea ever. I wonder who came up with that... he/she must be a genious!

OgreBob, on Oct 18 2004, 10:22 PM, said:

I think that is the best idea ever. I wonder who came up with that... he/she must be a genious!
View Post

Alright, alright. Credit where credits due, you did suggest it. For the record though, I had been considering it but thought it was more work than it was worth. Obviously you disagree, so I'll get to work. I've thought of a few other ideas too... I have my work cut out for me. 😞

No, in fact it ts quite a helpful idea......please; do what you must to add this feature.
It would, provided it works as stated, would prove to be extremely helpful.
thanks for the work CI-Ia0s.
Now only if we could get Pilky moving along in his projects...... :rolleyes:

Keep up the good work all.

zerowarrior150, on Oct 21 2004, 05:04 PM, said:

It would, provided it works as stated, would prove to be extremely helpful.
View Post

You would have to go out and find the codes yourself of course (I'm not making a new search engine here 😛 ). Though I assume a google search would net you the results you'd need. Then in all subsequent updates you'd just add them to the list of invalid names (you couldn't modify the existing package of course as they'd have already DLed that 😞 ). I'm also working on the obviously necessary feature of being able to save settings for an installer you make so that it's easy to create an updater. I'm sorry but I'm gonna have to push the release back again. So much to do...

P.S. Just because I feel like it: each letter may now be assigned a number 1-99. This is the last change to that number, by the way, unless someone else wants more... 😛

Code invalidator completed and working. I tested it several times and it actually came out pretty nicely, all things considered. I'm trying to make this whole application as intuitive as possible, but the more I add features, the more complicated it gets. I'm sorry to say that you'll really almost have to read the readme at this point. The only thing left to do is set up the archive settings storage at the end of the process and to do the legal/marketing stuff (I'm looking into paypal). This is coming along (again 😉 ).

Progress report:
Hey everyone. It's been a while, over a month actually, and, I admit, I've been slacking.
To add to this, I have some bad news. After numerous discussions with my dad about how I should market and about various fees I may incur (Trademarks are expensive! I'm still debating about getting one...) I've been brought to the stark reality that I need to raise the final price on RegCodeX. I don't want to break anyone's bank, but I was previously unaware of certain aspects of selling things that I hadn't factored in (I thought I knew everything... 😕 ). The new cost will probably be $27 (+ tax if you're in Virginia, USA) and I doubt it will change more than a few dollars from there. Again, many apologies for the raise in price. I was naive and shouldn't have hinted at a lower price in the first place.

Now, good news: I've gotten back to work! Tonight the saving part of the archive settings storage system was completed. If I have time tomorrow, I'll finish the loading part. And after that, all that remains is alpha testing by me, beta testing by others and wince legal stuff and marketing (I have to look into how paypal works, whether the buyer needs an account to use it, etc...). That's the good news. Luckily the delays probably aren't too big an issue, as CS still hasn't been fixed yet, and therefore no one's ready to release a game anyway. So, bottom line, look for betas around Christmas with a release shortly thereafter (legal stuff allowing)!

On the legal side, don't forget the Terms and Conditions. One thing that I write in them is that if there's any kind of legal battle, it has to meet in my county in my state. There are predators out there who will try to take what's yours. Most people are really terrific and decent, but some choose otherwise. So stop your wincing and just do it. After you've done it once, then you know how to do it and it gets easier from then on. I strongly suggest that you bite the bullet and register your trademark. Just make very sure that your product works, and works well and consistently. Paypal's wonderful, by the way. I suggest that to really be able to use Paypal, to create a legal business. Go to your county courthouse to do so. Here it costs $10 every 5 years. Then there's taxes, but you'll be doing that anyway, and it's a pain but necessary. Good luck to you.

Thanks for the advice; I'll talk it over with my dad. Anyway, news:
I finished the loading of settings files feature, though I've encountered some distressing information:
You will only be able to have 100,000 invalid names (40 characters long; that's still a 10 MB file w/o everything else, license agreement, etc. in there).
Also, I forgot that I have to revamp the code generator and give it a better GUI. That may take a while, so push all my predictions back a week. (right now you can only generate one code at a time and you can't copy/paste. That simply won't work for most people 😉 ).

The holidays have arrived (and passed) and I've already set to work. Today, after struggling with some annoying bugs (which culminated in discovering a huge bug and completely rewriting a huge part of the code generation process), I have finished my update to CodeGenerator. It now has a nice GUI and lot's of cool features.
There's some bad news though... As I was working on CodeGenerator I noticed how shoddy the Registration program looked, so now I'm going to have to do a GUI for it too. Fortunately, it shouldn't take too long and the results should be well worth it. I'm also thinking about adding the ability to choose your install destination. Any thoughts on this?

Yeah the installation destination is a good idea.

CI-Ia0s, on Dec 2 2004, 02:56 AM, said:

You will only be able to have 100,000 invalid names (40 characters long; that's still a 10 MB file w/o everything else, license agreement, etc. in there).
View Post

I hope I don't seem like I'm heckling you, but one thing:

Any kind of arbitrary limit represents broken design unless it is a because of resource limitations. Resource limitations are for elevator controllers and 3D games that need top performance, not for GUI installer programs that are expected to take several minutes to run anyway.

Besides, I can't think of any reason why you would need to impose a 100,000 item limit on the number of invalid names, unless you're statically allocating an array of 100,000 items, thereby bloating beyond all reason the memory usage of your program and casting serious doubt on your ability to write a `registration' system with any degree of security.
I really hope you aren't statically allocating a 100,000 item array, but if you are, you should know that this is such a common newbie design error that it even has a name.

So, where does the 100,000 item limit come from?

This post has been edited by Bryce : 28 December 2004 - 01:35 PM

Memory limitations. 100,000 names (assuming a name is 20 characters long) is 2 MB of names. That's bad enough to lug around, but once you start loading it into memory it gets worse and worse. Yes, I could make it load and check the names in segments, but I have two issues with this: 1. Who would take up more than 2 MB of an installer with invalid names, and 2. Who would enter more than 100,000 invalid names in the first place? Once you start getting into 500,000 and 1 million names you have 10 MB and 20 MB respectively of just names in memory and as a part of the installer. It'd be ridiculous. I wouldn't be opposed to a server-based solution if people want to do that on an individual basis, but that would require an internet connection and a server which is why I'm not doing that for the general release.

P.S. No, the array size is certainly not set to an arbitrary number. It is set to the number of invalid names. 😉

This post has been edited by CI-Ia0s : 28 December 2004 - 05:46 PM

CI-Ia0s, on Dec 28 2004, 10:42 PM, said:

Memory limitations. 100,000 names (assuming a name is 20 characters long) is 2 MB of names. That's bad enough to lug around, but once you start loading it into memory it gets worse and worse. Yes, I could make it load and check the names in segments, but I have two issues with this: 1. Who would take up more than 2 MB of an installer with invalid names, and 2. Who would enter more than 100,000 invalid names in the first place? Once you start getting into 500,000 and 1 million names you have 10 MB and 20 MB respectively of just names in memory and as a part of the installer. It'd be ridiculous. I wouldn't be opposed to a server-based solution if people want to do that on an individual basis, but that would require an internet connection and a server which is why I'm not doing that for the general release.

P.S. No, the array size is certainly not set to an arbitrary number. It is set to the number of invalid names. 😉
View Post

100,000 isn't too small, it's a pretty absurdly large number. For fear of making it too small, it's been made far too large. 2Mb is way too much ram to spend on invalid names if you only have ten of them. My point is that the array should be exactly as large as it needs to be for the installer at hand. If it loads a list from a file, the file should say how many invalid numbers there are, so that the program can make the array exactly that large.

Granted, this is a case where it wouldn't really hurt to do what you're doing, but there is a better, cleaner way to do it. If you want to say `but this is a workable, pragmatic solution', well, I can't deny it. But remember that there is a chance, however small, that there is a user out there with a pitiful amount of avalible RAM for which 2mb will make the difference between Out-of-Memory and a perfect install.

This post has been edited by Bryce : 28 December 2004 - 06:08 PM

That's my point!!! The file size and array size ARE exactly the sizes that are needed, not some random number (such as 100,000...). I am not arbitrarily saying 100,000 is the cap. I'm informing all potential customers that Java won't like it. Java really doesn't like taking more than 20 MB of memory for non-graphics stuff (don't ask why, that's just my experience). Therefore, going higher than around 100,000 - 1 million names may crash Java with out of memory errors. You can certainly try if you want, but it is not advised... 😛 Anyway, the reason I'm informing everyone is that I could (as I said) program a solution, but it's not practical or necessary in most cases, and for those cases that it is, I'll do it on an individual basis (maybe throw on a little extra charge for customizations 😛 ). So basically, I'm already doing pretty much what you said to do. 😛

P.S. Lol. Reading my last postscript I can see how you might have understood that to mean the 100,000. I actually meant the number that are needed, as stated above. Sorry... 😉

EDIT: for PS and typos/clarification

This post has been edited by CI-Ia0s : 28 December 2004 - 06:38 PM