JGF v3 - status

yup i have to agree “(blah*3)+h” the new layout is really nice!

[quote]blah3,

can I just have Mighty Bubbles gets working properly and let people download and play it successfully please?

EDIT: My point is that if it’s there, it’s preferable to be working or you’re better not showing it.
[/quote]
Understood entirely. I’ve been working on and off for the last three months on a publishign system where your game would only appear in a private area first until it had been tested and was known to work - but doing this in such a way that authors can still get test versions out there, and that authors know why their game is being held back is not easy to work out :(.

I do not know of anything specifically wrong with the game upload and JNLP systems; if you can give precise details of something that is known not to work, and which I can reproduce, I’ll fix it ASAP.

if you’d like mighty-bubbles deleted for now, login and go to the “edit details” page where there’s a button to delete it.

Recently, I’ve been concentrating on getting library support working, since this would make YOUR life much, much easier. It’s a case of prioritizing things; library support saves authors so much more time than anything else.

[quote]Whoa!

Just a quick note Blah, JGF is looking way way cooler… not sure
[/quote]
Great.

I’d put out a tender for $200 and got 20 responses of web shops wanting to do re-designs, but they were all crap and incompetent web developers (none could use CSS properly, most couldn’t even get their javascript correct).

I looked at the actual outside of the iBook, (using it when commuting from work), looked at my PC. Looked at the iBook again, and … if you’ve got one, I suspect you’ll see the similarities.

Now I’m just plunging onwards trying to get the last major things done and dusted and then we can go “live” and decommission the old version (which is still getting 5k unique visitors a month…). Shopping-list of things in order right now is:

  • library support
  • clean up the articles (make the CSS MSIE-friendly, and add all the old articles)
  • a high-scores system with API for embedding in games
  • a hosting area for all the submitted source code snippets
  • FAQ-editing pages
  • mini-forums

The mini-forums appear just to be very very hard to do: all the forums software that doesn’t cost mahola has crap integration features: it’s mostly “you’ll need to rewrite the source code to files A, B and C and we don’t care and won’t help. Oh, and we don’t even know if it’ll work because we hard-coded a lot of our integration stuff” :frowning: :(. So…probagbly have to wait untli I write something myself.

Hey Blah^3…

Shouldn’t you get the game you worked on functional on JGF first :wink: ?

[quote]Oops!

You did something wrong…

The game author has not configured this game to be playable yet; please ask them to fix it.

Root cause? : java.lang.IllegalArgumentException: The specified version has no JVM selected - please go back and choose one! - I found 0 JVM’s that matched game = Survivor, release = alpha and version = 29

Referer URL:/jnlp/Survivor/alpha.jnlp
[/quote]

Bug report:

I have created a new game entry (and “deleted” my previous entries)

However for each JAR file i upload, it seems to be duplicated.

When i try to delete one of the duplicates, it deletes both.

I can publish the version with no issues and the jnlp file does not contain duplicate entries in the class path. However the website believes that the total size is TWICE the actual size due to the duplication.

When i create a new version and copy accross the previous version i get another duplication of all my JAR files. See the screen shot.

http://www.geocities.com/budgetanime/webstart_error.png.txt

The automatic jnlp file creator seems to be looking in the incorrect JAR file for the main class, so i combined all the JAR files into one JAR file.

Doing this and uploading only this one file seems seems to have avoided the duplication issue… and the added bonus is that the game now works perfectly.

um, now the entire site is unaccessable…

I’ve recreated Mighty Bubbles and here are the errors webstart gave me when I tried the game:

With Firefox:


JNLPException[category: Security Error : Exception: null : LaunchDesc: 
<jnlp spec="1.0+" codebase="http://www.javagamesfactory.org/attachments/game/Mighty+Bubbles/" href="http://www.javagamesfactory.org/jnlp/Mighty+Bubbles/alpha.jnlp">
  <information>
    <title>Mighty Bubbles</title>
    <vendor>Author: theanalogkid</vendor>
    <homepage href="http://games.datadino.com/mightybubbles"/>
    <description kind="one-line">Fight water people with your powerful bubbles!</description>
    <icon href="http://www.javagamesfactory.org/attachments/game/Mighty+Bubbles/game-logo.jpg" kind="default"/>
    <offline-allowed/>
  </information>
  <security>
    <all-permissions/>
  </security>
  <resources>
    <jar href="http://www.javagamesfactory.org/attachments/game/Mighty+Bubbles/alpha/2/mighty_bubbles-demo.jar" download="eager" main="false"/>
    <jar href="http://www.javagamesfactory.org/attachments/game/Mighty+Bubbles/alpha/2/lwjgl_util.jar" download="eager" main="false"/>
    <jar href="http://www.javagamesfactory.org/attachments/game/Mighty+Bubbles/alpha/2/lwjgl_fmod3.jar" download="eager" main="false"/>
    <jar href="http://www.javagamesfactory.org/attachments/game/Mighty+Bubbles/alpha/2/lwjgl.jar" download="eager" main="false"/>
    <jar href="http://www.javagamesfactory.org/attachments/game/Mighty+Bubbles/alpha/2/jutils.jar" download="eager" main="false"/>
    <jar href="http://www.javagamesfactory.org/attachments/game/Mighty+Bubbles/alpha/2/jinput.jar" download="eager" main="false"/>
    <jar href="http://www.javagamesfactory.org/attachments/game/Mighty+Bubbles/alpha/2/gagetimer1_1.jar" download="eager" main="false"/>
    <jar href="http://www.javagamesfactory.org/attachments/game/Mighty+Bubbles/alpha/2/dom4j.jar" download="eager" main="false"/>
    <jar href="http://www.javagamesfactory.org/attachments/game/Mighty+Bubbles/alpha/2/lwjgl.jar" download="eager" main="false"/>
    <jar href="http://www.javagamesfactory.org/attachments/game/Mighty+Bubbles/alpha/2/lwjgl_util.jar" download="eager" main="false"/>
    <jar href="http://www.javagamesfactory.org/attachments/game/Mighty+Bubbles/alpha/2/win32-dxinput.jar" download="eager" main="false"/>
    <jar href="http://www.javagamesfactory.org/attachments/game/Mighty+Bubbles/alpha/2/win32-dxinput-native.jar" download="eager" main="false"/>
    <jar href="http://www.javagamesfactory.org/attachments/game/Mighty+Bubbles/alpha/2/win32-fmod-native.jar" download="eager" main="false"/>
    <jar href="http://www.javagamesfactory.org/attachments/game/Mighty+Bubbles/alpha/2/win32-lwjgl-native.jar" download="eager" main="false"/>
    <jar href="http://www.javagamesfactory.org/attachments/game/Mighty+Bubbles/alpha/2/win32-lwjgl_fmod3-native.jar" download="eager" main="false"/>
    <jar href="http://www.javagamesfactory.org/attachments/game/Mighty+Bubbles/alpha/2/win32-gagetimer1_1-native.jar" download="eager" main="false"/>
    <j2se initial-heap-size="33554432" href="http://java.sun.com/products/autodl/j2se" version="1.4.2+"/>
  </resources>
  <application-desc main-class="mightybubbles.MightyBubbles"/>
</jnlp> ]
      at com.sun.javaws.LaunchDownload.checkSignedResourcesHelper(Unknown Source)
      at com.sun.javaws.LaunchDownload.checkSignedResources(Unknown Source)
      at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
      at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
      at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
      at com.sun.javaws.Launcher.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)

What is that security error?

[quote]The automatic jnlp file creator seems to be looking in the incorrect JAR file for the main class
[/quote]
It doesn’t even try to look in any JAR file - the webstart spec says (off the top of my head) that you have to specify the main class, OR ELSE you have to have a manifest with the main class attribute in the very first JAR file.

So, I would guess that was a problem with your manifests, or a typo.

[quote]Bug report:
However for each JAR file i upload, it seems to be duplicated.
[/quote]

:frowning: almost certainly a typo in my SQL queries. I’ll have a look as soon as I get back home (not for another day or two).

Yeah, it’s because they’re just being visually repeated, not actually repeated :-[

Thanks for the info

After claiming that “nothing works” in JGF in the “other” thread (i.e. snake…), i decided that it’s unfair to say that without trying it hard enough. So i decided to upload Paradroidz to JGF…the result is: The site is down ATM…i’m really sorry for that.
Anyway…here’s what happened: At first, everything went fine, except that lwjgl.jar and lwjgl_util.jar appeared multiple times in the list and the loading indicator of webstart reflected this (i.e. after loading a 300KB jar, it jumped from 3mb loaded to 4mb loaded). It worked fine at the first time except that i made a mistake in the JVM’s mx-setting. I adjusted it, deleted everything from webstart, tried again and it told me something about lwjgl-win.zip not being signed correctly (worked fine before). I tried again and it told me, it couldn’t load lwjgl_util.jar. I deleted that one, uploaded it again and it told me, that it couldn’t load the resource .jnlp
After that, it was gone…and still is. I’m sorry for obviously killing your server, but JGF is just not usable ATM IMHO. How about letting people like me (who want to host their stuff themselves) offering the option to upload a description, some screenshots and a link to the actual game and exclude all the jars from the process. It would save you and me some work and your server some load and trouble.

BTW: Feel free to delete anything related to Paradroidz from the server…

[quote]The site is down ATM…i’m really sorry for that.
[/quote]
The oft-mentioned Direct Buffers memory leak I’ve been going on about for ages and said twice today I’m working on at the moment :(. Clearly, it’s a simple memory leak in that it happens sooner the more people are using the site ;D.

Documented on the previous page of htis thread

Unfortunately I can’t do anything with those comments just because of the inadequacy of webstart’s error-reporting: unless you carefully inspect the JNLP file AND read the exception stack trace AND know what particular stack traces “actually” mean (remembering that they are often thrown in misleading places by webstart), it’s impossible to know what the actual error was.

Incidentally, all those errors are symptomatic of you doing something silly with your JARs (I’m not saying you did, I’m saying that I’ve seen them often and mostly they are author errors. Even done one of them myself quite often :frowning: : ( ).

Nah, not your fault ;). Three things to note:

  • this never ever ever happens on the test server no matter how heavily I load it
  • it happens simply by using the server (seems to be just visiting the site that triggers it!). It is possible it’s some broken library on the server itself (I didn’t install it manually, so it’s not identical to my test server). Equally, it’s possible it’s a rootkit for Apache (failing, of course) or some other linux service that as a coincidental side-effect triggers a memory leak in some code - this would explain why it never happens on the test site (not net connected!)
  • until recently, it only happened once a week or so. The increased usage of the site has lead to it happeneind once or twice a day (!) this week.

c.f. the above; mainly I wrote that all out to illustrate (and explain why) it has just got so much WORSE in the last couple of weeks. I wouldn’t have asked anyone to try it if it had been crashing once a day. Nor would I even have made it live. It’s … embarassing … but also very frustrating, knowing that it could be some small, simple, bug.

Fundamentally, there’s always something broken or missing, simply because getting it all to work is a massive job that I’m currently doing entirely on my own entirely in my small amount of free time. But it’s almost there, and when it has worked, it’s been wonderful. So I’m confident you’ll feel it’s all worth it in the end :).

And, besides, when I at last say “there, it’s done” and switch off the old site, you’ll know for sure that it’s been VERY extensively tested ;). The altenative, I guess, would have been to keep it hidden and invisible all this time, not to tell anyone about it, and eventually release it one day with lots of bugs that simply hadn’t yet been noticed because it had never had “in the wild” testing.

You already can do all that, it was expressly designed to do that, EXCEPT that “re-write the HTML for the game page” is on my todo list, and it currently doesn’t display the webpage link >:( so it’s theoretically possible but not actually doable by you right now. However, c.f. below.

No game can fully (*) be listed on JGF unless it has JAR’s on the site. This is not negotiable: with just a mere 50 games on the previous version, approximately 5 to 10 were “missing” at any one time, with broken links, broken images, or most often broken downloads. It looks really crap and it makes the rest of the games look bad by association. It drew a huge amount of negative criticism. Sorry, but I’m not going there again.

Especially since it’s such a small and painless thing assuming the site is working properly (my job). Yes, the site is not yet finished - that’s why I’ve been asking people gradually to try it, add more games bit by bit, see if doing so breaks anything new. Each time everything important seems fixed, I’ve been coming back and asking for more people to try breaking it.

(*) i.e. ultimately, it’s not going to appear in the main games list, it will only be able to appear in an “unreleased games” section.

Thanks for having a go. Although I’d appreciate it if you’d have another go in the future whenever it is I believe I’ve fixed those few of your problems where I have enough detail to work on.

PS: why is Sun’s webstart client so ********? Just keeps giving me a world of pain. Howabout this:

"An error occurred while launching/running the application.

Category: Launch File Error

The following required field is missing from the launch file: (|||)"

JNLP:


<?xml version="1.0" encoding="utf-8"?>
<jnlp
 spec="1.0+"
 codebase="http://javagamesfactory.org/attachments/game/NanoBlaster"
 href="http://javagamesfactory.org/jnlp/NanoBlaster/alpha.jnlp"
 >
      <!-- Last-Modified header will be set to: Tue, 10 May 2005 21:34:17 +0200 -->
      <information>
            <title>NanoBlaster</title>
            <vendor>Author: MasterOfDisaster</vendor>
            <homepage href="$library.webpage" />
            <description kind="one-line" >2D Action Ball game</description>
            <description kind="short" ><p>
Every player tries to hit the other player's goal (surprise surprise!).
The game's over when one player has shot 11 goals or if the time limit is over.
During gameplay gimmicks pop up which can be collected and used to annoy the opponent player.
Available modes are Human vs Human, Human vs CPU and CPU vs CPU.
For more details check out <a href="http://games.rastaduck.org/NanoBlaster/">the NanoBlaster home page</a>
</p></description>
            <icon href="game-logo.jpg" />
            <offline-allowed/>
            <jgf-release-type>alpha</jgf-release-type>
            <jgf-release-version>1</jgf-release-version>
      </information>
      <security>
            <all-permissions/>
      </security>
      <resources>
      </resources>
      <resources>
            <jar href="alpha/1/nb.jar" />
            <jar href="alpha/1/images.jar" />
            <jar href="alpha/1/sounds.jar" />
            <jar href="alpha/1/gagetimer.jar" />
      </resources>
      <resources os="Windows">
            <nativelib href="alpha/1/gagetimer-native.jar" />
      </resources>
      <resources>
            <j2se href="http://java.sun.com/products/autodl/j2se" version="1.4.2+" />
      </resources>
      <application-desc>
      </application-desc>
      </jnlp>

:frowning: In case you’re wondering, I checked with an XML editor (in case my eyes deceived me!) and, yes, that application-desc element is where it appears to be. Webstart is just … lieing.

[quote]Unfortunately I can’t do anything with those comments just because of the inadequacy of webstart’s error-reporting: unless you carefully inspect the JNLP file AND read the exception stack trace AND know what particular stack traces “actually” mean (remembering that they are often thrown in misleading places by webstart), it’s impossible to know what the actual error was.

Incidentally, all those errors are symptomatic of you doing something silly with your JARs (I’m not saying you did, I’m saying that I’ve seen them often and mostly they are author errors. Even done one of them myself quite often :frowning: : ( ).
[/quote]
I’m not aware of doing anything wrong with the Jars. They do work when loaded from my own server and they did work the first time i uploaded them to JGF. The actual exception was (sorry for not saving the stack trace), that webstart claimed that the file was in use and therefor, it couldn’t access it. But i’ve cleared the webstart cache, rebooted and re-downloaded the file…i don’t see how it could be “in use” by someone else (who, if not webstart itself…?)

Likewise I couldn’t see how the JNLP file could be “not found”, or how the 100% obvious, in-your-face, application-desc could be “not found”. Webstart’s error reporting is just really bad AFAICS :frowning:

blah3,

as I see the situation right now, JGF as has been unstable for months and it seems to be due to a lot of webstart bugs and maybe you being too tired because of too long hours. What about give up with the current upload process and simply let the authors upload their jars with their own .jnlp file so that they could manage their own space for their content. For example, when I’d like to create a new game, I would be given an ftp access which allows me to manage the files and directories I need to put my jars and let my .jnlp file works with my game setup. The current game presentation (description, images, etc.) already works fine so I think you don’t have to change it.

This solution needs to be more elaborated but I think that you get the idea.

[quote]blah3,

What about give up with the current upload process and simply
[/quote]
Unfortunately I can’t see how what you describe fixes or side-steps any of the current bugs? I think there may be some misunderstanding here about what the problems are. For instance, the JNLP system has for a long time worked perfectly with no known bugs - although I updated it this weekend with support for libraries/extensions and that may have damaged it in some way; I can’t be sure yet - it worked for me every time I tested it.

There have been repeated problems with the uploads (for instance, when it didn’t handle files uploaded from a remote-mounted window network drive that was using the SMB naming protocol because SMB has naming conventions that screwed up the parser! Not exactly an obvious thing for me to test against :frowning: ).

I’ve also just discovered the cause of one of the bugs above, and it’s Sun’s webstart client being pants again :(.

let the authors upload their jars with their own .jnlp file so that they could manage their own space for their content. For example, when I’d like to create a new game, I would be given an ftp access which allows me to manage the files and directories I need to put my jars and let my .jnlp file works with my game setup. The current game presentation (description, images, etc.) already works fine so I think you don’t have to change it.

This solution needs to be more elaborated but I think that you get the idea.
[/quote]

[quote]PS: why is Sun’s webstart client so ********? Just keeps giving me a world of pain. Howabout this:

“The following required field is missing from the launch file: (|||)”"
[/quote]
Complete and utter lie. What you actually meant to say, you stupid error handler you :P, is:

“According to the JNLP spec, the description field will not render HTML. Most HTML is simply ignored because our implementation was to just ignore any sub-tags and simply render the CDATA picked up in the root tag. However, if you insert an A HREF link in the description then you destroy our parser. Somehow. Please remove the HTML from the description field”.


            <description kind="short" ><p>
For more details check out <a href="http://games.rastaduck.org/NanoBlaster/">the NanoBlaster home page</a>
</p></description>

The mind boggles what kind of parsing they’re doing; it’s only trivial XML (didn’t include any ampersand directives etc). I wonder how you could incorrectly parse that in such a way if you’re using any of the built-in XML parsers (DOM and SAX)?

It’s difficulties like this that force me to struggle on: the average games developer has no chance against the maze of pit-traps in the webstart system. But by discovering, understanding, and permanently fixing these I can save everyone else so much wasted time and effort. For instance, now I know this I can alter the JNLP service to do a character-strip operation on the description field. And probably disallow HTML in the initial description editing interface anyway (is a one-line change of code, literally pass “true” to the “stripHTML” field of the parse method!).

Eh! Hold on, you can’t bung random XML (HTML) into any XML dialect anywhere unless you start using namespaces and schema references?

EDIT: Agreed, that error message is appauling.

Kev

[quote] Unfortunately I can’t see how what you describe fixes or side-steps any of the current bugs? I think there may be some misunderstanding here about what the problems are. For instance, the JNLP system has for a long time worked perfectly with no known bugs - although I updated it this weekend with support for libraries/extensions and that may have damaged it in some way; I can’t be sure yet - it worked for me every time I tested it.

There have been repeated problems with the uploads…
[/quote]
I tought there are bugs related to webstart since many games fail to start because of a webstart problem. When you try all of these games outside the JGF scope, they run without problem so why when someone try one from JGF, it fails with a webstart exception? And I don’t talk about the jar versionning problems here. I mean, if you let the authors put their content as is with security and versionning checks enforced (alpha versus beta and prod) then there is no reason a game would not work properly if it worked previously from the author’s website.

If I didn’t catch all the issues please tell me what it is. I just want to help you.