putting my game on a web page?

I’ve played with this a bit and can’t seem to find a solution. Is there a way to pack a game and it’s contents and have it run on a non-SSL web page? I’ve tried the ppackage and packp3d programs am still a bit confused. I have gotten a p3d to load on a page but the certificate issue won’t let it run. I can’t seem to host SSL and non-SSL virtual servers together on my centos box (or I don’t know how) so I was hoping I could just do it in a standard http setup? Any help appreciated. Thanks.


You don’t need to host it on an SSL-enabled web server at all. You just need to sign your .p3d file with an S/MIME or SSL certificate, which is completely different from hosting it on a https website.

Thanks. Now it comes up but hangs in the browser with ‘Read runtime.panda3d.org’ and all I get is a blank window.

Can you run your p3d file from the command line using the panda3d.exe command? That’s the first thing to test, to prove that your p3d is generated correctly.


Got it. Thanks! Works great. Tried IE8, Chrome and Firefox. Very cool. I love this stuff :wink:


Well, spoke too soon, it works great on my machine and some others but not all.

Do the panda3d runtimes need to be installed on a user’s computer before the web plugin will run?

Is this automatic or do I need to provide a link to the runtime download page?

Yes, the Panda3D runtime needs to be installed in order to run the web plugin. In fact, the Panda3D runtime is the web plugin.

You will need to provide a link.


You can simply link your users to:

Is there a way to detect if someone has the plugin installed or not?
I would be user friendly to swap the spot where the plugin should appear with a message and link to download the runtime.

Yes. There are several approaches for determining if the plugin is installed already or not. You start getting into advanced JavaScript coding, because these approaches are different for different browsers. But there’s a script provided with Panda that handles much of this more-or-less automatically, and it’s described in the manual.

Or, you can simply use the tag to put a link on the innermost definition, which will be invoked if all of the outermost definitions are not invoked.