JGF v3 - status

gah, why is something always broken on JGF!

[quote]gah, why is something always broken on JGF!
[/quote]
Before I answer that: Right. What?

Now for the answer (I was meaning to post tonight on status anyway :P)…

JGF was originally something I whipped up in half an hour because I wanted to be able to play all the cool games appearing here without having to search the vile YABB search to find them. And because I wanted to know which people here I chat with actually wrote which games (I wouldn’t remember without having it listed somewhere convenient).

Turned out to be quite popular. (note: huge appreciation goes out to all those who’ve mailed encouragement and thanks and positive comments; it’s very gratefully received…and I’m keeping and collating them to post on the site at some point)

It grew rapidly in hits, mainly because other people kept citing it on other sites and forums, and I only found out when the hits leapt up and a new referer apppeared in the logs. Conversely, the amount of time it took to accept new submissions leapt up (at peak, I was spending more than 15 hours a week JUST on receiving, processing, testing, uploading new games that people sent to me).

Since I am an expert in CMS’s (used to contract on designing and building big ones for an insane hourly rate ;)) and happened to be a major shareholder in a company with a lean, fast, java application server, and wrote most of the low-level net code for it (so I know the low-level source intimately), I grabbed a license and started building a CMS for the java games dev community.

Since I’m highly experienced in CMS building and deployment and maintenance, I’ve been careful to get things right first time. That means huge amounts of time spent designing and testing. OTOH, nearly at completion of the relaunch, I was recruited by a games company to turn around a brilliant game that was about to crash and burn because their whole tech + IT was screwed. Since that time, I’ve been working very hard to save them (and we’ll be launching this game very very very very soon and expect to get a huge amount of kudos for it…it’s rather cool), and been commuting an average of 3 hours per day.

3 hours per day gets you pretty tired, and so JGF has moved slowly since jan 2005. At the start of this month, I tried to make a major change to JGF’s code, that would possibly fix some occasional non-deterministic problems with file uploads and make the lives of the game-authors somewhat better. In doing so, I had to upgrade the copy of the grexenigne JGF is running, and since I no longer work there it was non-trivial to adapt the existing code to the new features.

So JGF ran in a rather flakey way for a while, whilst I gathered evidence in 200 MB of log files for the long-standing problems and some new ones.

Then I was invited to speak at the 2005 ACCU conference (association of C and C++ users) and spent the whole of last week at the conference (learning some very interesting stuff about Generics in java, amongst other things…) and couldn’t submit any patches whilst there.

But this weekend I finally DID patch the server, and it would appear that I have not only fixed the upload problem, nor merely fixed the main problem (never tracked down) that caused the server to periodically crash, but also to make the server faster for plain HTTP requests (which, as far as you lot are concerned, is all it does - so it’s faster for all of you).

But I’ve been waiting a few days to verify this before saying anything, just in case :P.

Spoke too soon? (JGF stopped responding this evening) Maybe…

In fact, it looks like there’s a remaining issue - but it appears to be the firewall. Once it triggers, the firewall starts dropping packets sent to the webserver, before the JVM ever receives them, hence you get no response.

Simply restarting the JVM causes the firewall to start accepting packets.

I’m suspicious; the firewall is in a TCP-state-watching mode, using iptables on a recent kernel … I’m a died-in-the-wool ipchains admin, and iptables still seems a little “new-fangled” to me :stuck_out_tongue: … so maybe I’ve screwed up. But equally maybe it’s just some bug in iptables on linux >:( such that it gets confused after certain malformed packets or similar.

sorry i didn’t mean any offence (if any taken), i think jgf is a great idea and site, and i’m sure it will be one of the best java resources in the future, keep up the good work!

No worries. Hoping to do a lot of work on the site this weekend (fingers crossed). However, I have to work on Sunday, and if anything goes wrong with that I may end up spending all the time fixing perplexcity instead :(.

Anyway, there’s still the crap JVM “out of memory error” caused by the JVM bug from Sun about not allocating / managing direct buffers well, but the changes that went on over the last month means I have a fighting chance of at least automatically dealing with this.

So, JGF is still in “someone has to restart it every few days manually when the JVM runs out of memory, or the firewall starts blocking the ports” mode, but everything else appears to be working fine. AFAIAA!

I think I broke your server by pressing “what games do I have installed”

I feel so sorry :’(

edit: ahhh! it works again. smart auto-restarting?

Actually, as it happens, YES ;D. I added it last week, deep in the grexengine: if a service clogs up for any reason (typically a call to an external DB that’s crashed, or an unhandled exception that’s somehow escaped the catch-all catch, or a race condition) then the service auto-kills the core thread and restarts it.

I held off on using it on JGF for a while, because I didn’t want to mask those kinds of problems. You get a warning in the log files each time it happens, but … the log files are > 1 gb for JGF and I can’t be bothered to read them much :(.

Hmm. I hope everyone likes the new look. I got 20 web designers to pitch for a redesign at $200, but they all came up with crap, or non-CSS code, or non-standards compliant, so I gave up and did it myself today and yesterday.

Let me know if the zoomer on http://javagamesfactory.org isn’t working on your browser + version - I checked it on opera, MSIE, and mozilla and it worked fine in all of them.

Obviously, minor rendering problems on various pages, and not all pages have been switched to the new template yet.

blahblahblah, just a quick note : menu links don’t work from the news page (at least on safari/macOs X.3) : if you want to have the full list of games, you have to go to a single game page, from where the menu links are okay…

Main page is fun, but there’s a lot of unused space that could be filled.

Lilian

[quote]blahblahblah, just a quick note : menu links don’t work from the news page (at least on safari/macOs X.3) : if you want to have the full list of games, you have to go to a single game page, from where the menu links are okay…
[/quote]
I think you mean that the backgrounds don’t count as links? - the text itself is plain old A HREF, so it is guaranteed to work everywhere. I guess if I do a google for “javascript object link” or something like that then I can turn the backgrounds into links too :).

If you mean the front page on the domain, some of that will be filled in future, but the main aim is to provide a simple, friendly, appealing initial page for people coming to the site. I’d hoped to make it look prettier (the mockup looked much better) but got hit by the limitations of HTML rendering cross-browser (i.e. I could make it look great in mozilla, but not in MSIE. or vice versa).

No, the left menu is a true menu (with links) on other web pages and it’s just a simple table without links on the news page (http://javagamesfactory.org/views/test4).

For the domain page, you could probably add a sentence or two describing what this site is about without altering too much the “funness” (??! is this an english word ?) of the page, and may be a “game of the week” central link/image… my 2 cents.

Lilian

ARAGH! that link from the front page was wrong, it linked to a test page from when I was fiddling arond. Oops. Corrected now. Thanks!

[quote]Let me know if the zoomer on http://javagamesfactory.org isn’t working on your browser + version - I checked it on opera, MSIE, and mozilla and it worked fine in all of them.
[/quote]
Mac OS X Tiger, Safari 2.0.

Zoomer appears to work, but there is some way that the shrink happens on stuff that is already normal size, making it a little tiny square that zooms to “normal” size.

Please contact the admin / dev-team

Copy and paste everything below this line when contacting them

Referer URL:/jnlp/Mighty%20Bubbles/alpha.jnlp

Throwable:java.sql.SQLException: Column not found message from server: “Unknown column ‘G.version’ in ‘where clause’” GE-SQL: with SQL text = SELECT * FROM game_release_extensions AS G WHERE G.gamename = “Mighty Bubbles” AND G.gamerelease = “alpha” AND G.version = 16

Line Source File
352 In SQLService.java
276 …called from bAsynchronousService.java
334 …called from bModule.java
534 …called from Thread.java

As you may have guessed from the error, I was half way through adding webstart extensions and uploadable libraries, but ran out of time over the bank holiday.

I’ve patched the DB with a new schema that hopefully will at least make the error disappear, but fixing things properly will have to wait till the weekend.

When I accessed Mighty Bubbles admin page yesterday, there was 0 jar associated to it like if they were deleted. I wanted to reupload the whole thing but haven’t had time.

[quote]When I accessed Mighty Bubbles admin page yesterday, there was 0 jar associated to it like if they were deleted. I wanted to reupload the whole thing but haven’t had time.
[/quote]
OK, that could be a typo in the SQL query, making it simply show “no results”; wait til the end of the week when I’ve had a chance to finish the libraries/extensions code and be sure everything’s working as expected.

First darft version of the library/extensions system is now active: people can create libraries, and authors can include them in their games by simply choosing which libraries and which versions they want included (soon to include JOGL, LWJGL, Gage, etc - as soon as respective authors upload them, hint hint).

Didn’t see any problems with the SQL when looking at mighty bubbles. I also tried uploading a file to see what happened - it uploaded fine. Given your heavy reliance on LWJGL (looking at the files from previous version) I suggest you wait until LWJGL has been uploaded before you do anything else: that way you’ll only need to alter a couple of files at a time, rather than lots. There may be a problem with the “create from old version” code, but I changed it a bit in passing this weekend, so it’s worth trying again and seeing if the same problem happens.

blah3,

can I just have Mighty Bubbles gets working properly and let people download and play it successfully please? I’d be happy to be able to see how people like it in terms of stats. If you could simply delete the whole think and let me recreate it has as a completetly new one game just to make it works actually.

Thanks a lot.

EDIT: My point is that if it’s there, it’s preferable to be working or you’re better not showing it.

Whoa!

Just a quick note Blah, JGF is looking way way cooler… not sure whats happened over the last few weeks but its looking really sharp! Whatever it is you’ve been doing, keep going in that direction!

Nice one!

Kev