On Mon, May 16, 2011 at 3:41 PM, Littlefield, Tyler <ty...@tysdomain.com> wrote: > Here's kind of what I want to prevent. I want to write a multi-player online > game; everyone will essentually end up connecting to my server to play the > game. I don't really like the idea of security through obscurity, but I > wanted to prevent a couple of problems. > 1) First I want to prevent people from hacking at the code, then using my > server as a test for their new setups. I do not want someone to gain some > extra advantage just by editing the code. > Is there some other solution to this, short of closed-source?
1) If you're worried about people getting hold of the code that's running on your server, that's a server security issue and not a Python obscurity issue (if they get the code, they can run it no matter how obscured it is). 2) Was there a problem 2? :) As James Mills said, just leave it on the server and then you don't have to give out the source (and by "don't have to", I mean ethically, legally, and technically). You may want to give some thought to scaleability of your code; Google told their staff to avoid Python for things that are going to get hammered a lot (although it's possible that Google's idea of "a lot" is five orders of magnitude more than you'll ever get!!). But if your game world puts a hard limit on its own load (eg if players are on a 50x50 board and you know you can handle 2500 simultaneous players), you won't have a problem. Also, Python doesn't really cater to servers that want to have their code updated on the fly; I'm sure you could work something out using a dictionary of function objects, but otherwise you're stuck with bringing the server down to do updates. That's considered normal in today's world, but I really don't know why... downtime is SO last century! Chris Angelico happily running servers on fully open source stacks -- http://mail.python.org/mailman/listinfo/python-list