Jan 25, 2017, 08:44 PM | |
Thank you sir, that helped!
|
Jan 25, 2017, 09:13 PM | |
btw. are there any chances for Linux JJ2+? At least somewhere in the future? Honestly I believe that most of the problems I'm facing / faced in the past are due to Wine. I really dislike Wine. This game is the only reason I have it on my computer, I don't use any other Windows stuff.
Maybe that's a lot to wish for, I have absolutely no clue how hard would it be to make JJ2 and JCS Linux-friendly. |
Jan 26, 2017, 06:50 AM | ||
Quote:
I'm working on an open source clone of JCS called WebJCS, since it's made with web technology it runs on all platforms. See the links in my signature to version 1 (old and complete) and 2 (current, but in early stages).
__________________
WebJCS 2 (new and in progress) WebJCS 1 (old but complete) SGIP Simple Games in Progress list Level Packer v2 - With a GUI! PHP Tileset Compiler |
Mar 1, 2017, 04:15 PM | |
I'm having trouble running jj2+, I'm running it through wine on ubuntu mate 16.04
whenever I try to start a level or join a server, the screen goes black and an error message appears here is a link to my error report: http://pastebin.com/iKQUM21g
__________________
|
Mar 1, 2017, 08:56 PM | |
That error is likely from Wine not supporting part of Windows API used by JJ2+. Recent versions of Wine are believed to support all JJ2+ functionality. Please update and retry.
__________________
I am an official JJ2+ programmer and this has been an official JJ2+ statement. |
Mar 1, 2017, 11:32 PM | |
Is there anyway to force Vsync on Window mode?
I want to replace 800x600 with 800x450 as well. 800x600 no good and makes jazz too small. Edit: Its worth mentioning, I can easily zoom 800x600 and have 800x450 cropped. Bit the huds are missing unlike native 800x450.
__________________
Just Monika |
Mar 2, 2017, 02:37 AM | ||
Quote:
Code:
Unhandled exception: C++ exception(object = 0x0033f7f8, type = 0x102c5658) in 32-bit code (0x7b83936c). =>0 0x7b83936c in kernel32 (+0x2936c) (0x0033f798) 1 0x1017f0e0 in plus (+0x17f0df) (0x0033f7e8) Logface and I assume that JJ2+'s online check for self-updates fails here, even though Logface wants to start a singleplayer game. If this assumption is right, please catch and continue, you don't have to let the app crash. Can that API call throw in native Windows? -- Simon Last edited by Simon; Mar 2, 2017 at 03:40 AM. |
Mar 2, 2017, 06:25 AM | ||
Quote:
No, what we blame for the exception, based on earlier symptoms and when they occurred (regular Wine users reported the crash only in the latest release, while the update check has already been around for 5 public versions of JJ2+), is a far more substantial part of JJ2+, and letting the exception through is reasonable in the sense that if that part of code fails, the most we could do right now is display a custom crash message instead. The API function that we believe older versions of Wine don't support shouldn't throw unless its callback throws, which shouldn't happen under normal circumstances and no Windows user experienced it so far, to our knowledge.
__________________
I am an official JJ2+ programmer and this has been an official JJ2+ statement. |
Apr 18, 2017, 07:30 AM | |
I occasionally run the latest version of JJ2+ on my work MacBook through Wine (a recent OS X build) and haven't encountered any wrongful behavior compared to native Windows. Maybe Wine's even better, as both my gaming PC's are running Windows 10 with Nvidia drivers that still like to mess up DDraw to stutter, while I had Wine set to be like XP (which gives me a smoother, 60fps capped fullscreen somehow).
Anyhow, using a recent build of Wine seems to be a good idea, at least.
__________________
Add SlazRabbit on Xbox Live if you want to play some GoW1/2/3/J or Destiny1/2. Jazz Jackrabbit 2 Forever!! Civilian Defence Force - Jazz2 Visual Fantasers |
Jun 2, 2017, 12:04 AM | |
New release (5.5)!
Click here to download. (ModDB link coming this weekend.) The full list of changes can be found over here. The first thing you'll notice is that we have an actual installer now (thanks Stijn!), which should take care of the ongoing problem of asking people to edit parts of their plus.ini, jcs.ini, etc. files without overwriting the old files entirely. It'll also set up your jazz2:// protocol registration and give .j2l files some context menu options in windows explorer, if you let it.Besides that, this update is primarily focused on fixes for online servers and improvements to associated network code. Going forward, this new installer exe format should make us more comfortable with smaller, more frequent releases if other important fixes are needed in the near future, while putting off more major stuff for a version beginning in 6 instead of 5. (Our recurring problem with getting releases to work with Windows XP right away may still be in action. Stay tuned.) Last edited by Stijn; Jun 2, 2017 at 01:05 AM. |
Jun 2, 2017, 01:15 AM | |
Yay!
Apparently the new version indeed does not work on Windows XP (though it's worth trying if it works for you anyway). If you are still using XP you are stupid and deserve to lose your files to ransomware. It hasn't been updated or supported by Microsoft for years and it's full of security holes. That said, we'll try to compile a version that works for you, but it will probably take a bit of extra time. |
Jun 2, 2017, 09:35 AM | |
My game list stopped showing JJ2 version since I've updated to 5.5.
__________________
|
Jun 2, 2017, 12:44 PM | |
This is intentionall as virtually all servers host on 1.24, and JJ2+ clients can join 1.23 and TSF servers alike, so server version doesn't really mean anything anymore.
Last edited by Stijn; Jun 3, 2017 at 08:37 AM. |
Jun 2, 2017, 04:58 PM | ||
Quote:
__________________
|
Jun 2, 2017, 05:26 PM |
Violet CLM |
This message has been deleted by Violet CLM.
Reason: bumping
|
Jun 3, 2017, 04:05 PM | |
XP support is back in.
But that's not anything new? My 1.23 servers in 5.4 were also reduced to "Version different." |
Jun 4, 2017, 08:21 AM | ||
Quote:
For example, I could always see who was in PJ's server and he is hosting on 1.23.
__________________
|
Jun 5, 2017, 02:43 PM | |
When you set /maxplayers to 1 while server is in "Idle Server" mode, the server will disappear from the list servers. I tested it on Camel Duels 1 and Puke Nuk3m Battle. I could still see the latter in the "Local Network TCP" list, but the players count was 0/0
Also, sometimes it doesn't update the players count until I do /relist.
__________________
|
Jun 6, 2017, 06:40 AM | |
As far as I can see this is not a bug in JJ2+, but an unfortunate side-effect of the list server not displaying servers with a max player limit of 0 in the server list (because no one will ever be able to join that server until the limit is increased).
I'm not sure this is something that needs fixing - can you give me a scenario in which someone would want to host an idle server that no one can join but should still be listed in server browsers? (player count not updating is a separate issue I'll have a look at) |
Jun 6, 2017, 08:16 AM | |
Just pointed it out. It probably doesn't need to be fixed. But Camel admins might have to find a solution if players want to be annoying and set /maxplayers to 1 and leave.
__________________
|
Jun 6, 2017, 10:50 AM | |
How is that a new problem? Surely a server that can only include 1 player is exactly as unjoinable as one that goes up to 0.
|
Jun 8, 2017, 01:10 AM | |
I have written to the comments section of the News about this update, but noone sawit, so i write here too
Hello, what exactly did u change in transmitting gamedata, because my LGSL status stopped working, it is unable now to display player names in extended info http://brut.me/lgsl/?s=8 and what exactly information else are sended, that could be added into the table in extended information past the version of the game? I add the code here Code:
function lgsl_query_42(&$server, &$lgsl_need, &$lgsl_fp) { if (!isset($server['e']['version'])) { fwrite($lgsl_fp, "\x06\x0D\x05\x00"); // request JJ2 status via UDP if (strlen($buffer = fread($lgsl_fp, 1024)) < 20) return FALSE; $buffer = substr($buffer, 7); if (ord(lgsl_cut_byte($buffer, 1))) $server['e']['spectator mode'] = 'enabled'; $ver = lgsl_cut_byte($buffer, 2); $server['e']['version'] = '1.'.$ver; $buffer = substr($buffer, 3); $server['s']['players'] = ord(lgsl_cut_byte($buffer, 1)); $gamemode = array('Single Player','Coop','Battle','Race','Treasure','CTF'); $mode = ord(lgsl_cut_byte($buffer, 1)); $server['s']['game'] = $mode < 6 ? $gamemode[$mode] : 'unknown'; $server['s']['playersmax'] = ord(lgsl_cut_byte($buffer, 1)); $server['s']['name'] = str_replace('|', '', lgsl_cut_pascal($buffer, 1)); fwrite($lgsl_fp, "\x85\x0F\x03\x08\x15\xB4\x05\x00\x32\x34\x20\x20"); // second request via UDP $buffer = fread($lgsl_fp, 1024); if (ord(substr($buffer, -1)) >= 160) { $server['s']['password'] = 1; if ($lgsl_need['p']) { // needs password in the server's "Comment" field to return player info global $comment; if (!empty($comment)) fwrite($lgsl_fp, "r\x96\x0A\x07{$comment}"); // send password } } $lgsl_need['switch'] = TRUE; // switch to tcp for the next query } else { fwrite($lgsl_fp, "\x09\x0F\x01\x04".substr($server['e']['version'], -2)."\x20\x20\x01"); // request status via TCP $buffer = fread($lgsl_fp, 1024); if (strlen($buffer) < 10) { return TRUE; } $slot = substr(lgsl_cut_byte($buffer, 4), 2, 1); $server['s']['map'] = lgsl_cut_pascal($buffer, 1, -4); if (!$lgsl_need['e'] && !$lgsl_need['p']) return TRUE; fwrite($lgsl_fp, "\x08\x3F\x20\x03\x04\x00\x05\x00"); $buffer = fread($lgsl_fp, 1024); $buffer = fread($lgsl_fp, 1024); if ($offset = strpos($buffer, 'Z')) { $buffer = substr($buffer, $offset+10); $i = 0; while ($buffer = substr($buffer, 5)) { if (($part = ord(substr($buffer, 1, 1))) < 65 || $part > 122) { $j = 0; while ($lgsl_need['p'] && ($buffer = fread($lgsl_fp, 1024))) { // cleanup before requesting players if ($j == 4) return TRUE; // failsafe $j++; } break; } $server['e']['mutator'.$i] = lgsl_cut_pascal($buffer, 1); $i++; } } if (!$lgsl_need['p']) return TRUE; $botname = "LGSL"; $char = array('Jazz', 'Spaz', 'Lori', 'Bird', 'Frog'); fwrite($lgsl_fp, chr(strlen($botname)+17)."\x0E\x01{$slot}\x02\x00\x40\x40\x40\x40\x11{$slot}\x0A\x0D\x00\x00{$botname}\x00"); $i = 0; while (TRUE) { if (strlen($buffer = fread($lgsl_fp, 8192)) < 18) break; while ($buffer) { if (($part = lgsl_cut_string($buffer, 0, "\x0A\x0D")) == $buffer) break 2; if (($name = lgsl_cut_string($buffer, 2)) == $botname) continue; else $server['p'][$i]['name'] = str_replace('|', '', $name); $server['p'][$i]['char'] = $char[ord(substr($part, -8, 1))]; $server['p'][$i]['team'] = ord(substr($part, -7, 1)) ? 'red': 'blue'; $i++; if ($i == $server['s']['players']) break 2; } } } return TRUE; } http://brut.me/jj2/chatlogger.png
__________________
admin of BRUT.me |
Jun 9, 2017, 03:32 PM | |
vBrute: I should've made a note of this in the documentation, but you no longer need to "join" a server to acquire the player list. The packet you send in line 4 now has an extra byte that can be set to get player info from the server. Send an UDP packet with the following value
Code:
\x07\x14\x05\x00\x01 Code:
char[2] header long uptime in seconds long version char number of clients char number of players char game mode char max players char length of server name char[] server name char custom mode char flags (if the server is not running 5.5, this byte and all the following will be missing) & 1: server is private (if this is the case none of the following data will be sent) & 1 << 1: plus only & 1 << 2: idle server mode char max score char blue score char red score char green score char yellow score then for each player: char[] player name (null-terminated) char player score char player flags & 3: player team & 1 << 2: player is spectating char[] level filename Last edited by Stijn; Jun 10, 2017 at 02:22 AM. |
Jun 11, 2017, 05:00 PM | |
thank you for your answer, yes i think it should be in the documentation. As I am not a programmer, i depend on the good will of LGSL protocol creators to help me with this update. Hope it will not last long to rewritee the protocol, for now I reverted my server back to v5.4
__________________
admin of BRUT.me |
Jun 19, 2017, 11:29 PM | |
That's a good idea, but I am not sure if the staff team can change it that easily, but if they can, they should do it.
__________________
~XxMoNsTeR |
Jun 20, 2017, 11:57 AM | |
I don't think there is such a cap, though. Sir Ementaler tried joining a random server and got about 46 KB/s. I just tried downloading a file from my own server and got about 531 KB/s.
|
Sep 11, 2017, 09:33 AM | |
I have problem with this version. When i enable the "Beta Sprites" from Plus menu the crashes the game but i change the "Beta Sprites" within the plus.ini file to True the game is works fine.
__________________
"Where I walk, I walk alone. Where I fight, I fight alone" Akuma from Street Fighter Alpha The Animation Last edited by burnout92; Sep 11, 2017 at 10:06 AM. Reason: I'm don't write the exactly filename. |
Oct 2, 2017, 02:38 AM | |
You need to use /list when that happens. No need to restart the whole server.
__________________
|
Nov 15, 2017, 01:30 PM | |
Would be possible to integrate JJ2+ with J20 so users could vote, explore and download levels Mario Maker style? Of course uploading would still need to be done manually, but this would make discovery and enjoyment of custom content easier.
__________________
Code:
.──. │O_O │ ││_╱ │ ╱╱ │╲ (|▔╲ │ ) ╱'╲_▔ _╱`╲ ╲___) (___╱ TUX LOVES YOU. |
Nov 16, 2017, 03:09 AM | |
What's J20
__________________
Mystic Legends http://www.mysticlegends.org/ The Price of Admission - Hoarfrost Hollow - Sacrosanct - other - stuff |
«
Previous Thread
|
Next Thread
»
Thread Tools | |
|
|
All times are GMT -8. The time now is 03:41 PM.
Jazz2Online © 1999-INFINITY (Site Credits). Jazz Jackrabbit, Jazz Jackrabbit 2, Jazz Jackrabbit Advance and all related trademarks and media are ™ and © Epic Games. Lori Jackrabbit is © Dean Dodrill. J2O development powered by Loops of Fury and Chemical Beats. Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Original site design by Ovi Demetrian. DrJones is the puppet master. Eat your lima beans, Johnny.