Cat Lady
Movie Battles II Team Retired
- Posts
- 412
- Likes
- 237
// Edit
This bug report turned out to be invalid, so I'm changing it into enhancement request. Content of the original post - for coherency, and in unlikely case someone else come searching for same answers - archived at the end of this message.
---
Considering the informative and kind answers to my rude questions - and the fact that MBII could use super-cheap way of hosting servers, non-effort-required porting to bazillions of different ARM devices, and (possibly) free and effortless visibility in huge RPi community (which contains more gamers, than it seems at first), I'm proposing the following:
Pretty, pretty please, release the mod files build for .arm target, too (and x86_64 wouldn't hurt too, but at least it is not deal breaker).
I would compile it myself - actually, just spend a week and ~100$ for 2 RPi's (and peripherials) just for trying too, as I was foolishly thinking that it will be possible using:
https://github.com/MBII/OpenJK
...but MBII code is maintained the way that it is not possible for outsiders of dev team.
If you're willing to do it, but don't know how (I doubt it, as MBII dev team *now* have many, many skilled personalities, but just in case), I will gladly provide tutorial on how to set up RPi compiling environment in your everyday desktop LinuxBox. Or whenever else you compile linux binaries of openjkclient (mbii.i386) for use with MB2 releases.
On a more dramatic tone - my (almost) unused 100Mb synchronous net access just weeps for hosting MBII servers, but you're not letting me, so all those ~100 000 000 bits are sad and lonely. I weep for them too, but using x86-compatible PC for hosting MBII server - when 35$ can handle 4+ of them easily - is just overkill. armel builds are a way to go, for such things.
---
Additional note - all of this wouldn't be necessary, if MBII would stop being silly and FOSS itself, already. Ah, the joy! I would gladly become debian maintainer (if no one better skilled would like to) of it's contrib package... Just imagine those phoronix.com main page article:
"Most famous and biggest Jedi Academy mod to date just got its official Debian package, after going FOSS last week. Jedi Academy wasn't shining so bright, since going FOSS itself just <xxx> years ago!"
/Cat Lady
---
This bug report turned out to be invalid, so I'm changing it into enhancement request. Content of the original post - for coherency, and in unlikely case someone else come searching for same answers - archived at the end of this message.
---
Considering the informative and kind answers to my rude questions - and the fact that MBII could use super-cheap way of hosting servers, non-effort-required porting to bazillions of different ARM devices, and (possibly) free and effortless visibility in huge RPi community (which contains more gamers, than it seems at first), I'm proposing the following:
Pretty, pretty please, release the mod files build for .arm target, too (and x86_64 wouldn't hurt too, but at least it is not deal breaker).
I would compile it myself - actually, just spend a week and ~100$ for 2 RPi's (and peripherials) just for trying too, as I was foolishly thinking that it will be possible using:
https://github.com/MBII/OpenJK
...but MBII code is maintained the way that it is not possible for outsiders of dev team.
If you're willing to do it, but don't know how (I doubt it, as MBII dev team *now* have many, many skilled personalities, but just in case), I will gladly provide tutorial on how to set up RPi compiling environment in your everyday desktop LinuxBox. Or whenever else you compile linux binaries of openjkclient (mbii.i386) for use with MB2 releases.
On a more dramatic tone - my (almost) unused 100Mb synchronous net access just weeps for hosting MBII servers, but you're not letting me, so all those ~100 000 000 bits are sad and lonely. I weep for them too, but using x86-compatible PC for hosting MBII server - when 35$ can handle 4+ of them easily - is just overkill. armel builds are a way to go, for such things.
---
Additional note - all of this wouldn't be necessary, if MBII would stop being silly and FOSS itself, already. Ah, the joy! I would gladly become debian maintainer (if no one better skilled would like to) of it's contrib package... Just imagine those phoronix.com main page article:
"Most famous and biggest Jedi Academy mod to date just got its official Debian package, after going FOSS last week. Jedi Academy wasn't shining so bright, since going FOSS itself just <xxx> years ago!"
/Cat Lady
---
TL;DR
:
Source code from https://github.com/MBII/OpenJK is broken mess, doesn't produce the same binaries as one distributed with MB2 release(s), and they're not even compatible with each other. Apart from (unintentionally, I think) breaking GPL license, it just sucks - people wanting to compile MB2's openjkded (possibly also client) for other architectures and host servers on those non-x86 machines / play from them, can't.
Long story:
I've just received few fresh Raspberry Pi's, and as promised on old forums, decided to compile MB2's OpenJK fork for armel architecture and host few 24/7 MB2 servers on those, obviously also releasing resulting binaries for other people's benefit (machine costing 35$, that uses like 1W of energy and can host ~four 32-players servers simultaneously without any sweat is not a small treat!).
Figuring dependencies and build options was no-brainer thanks for great OpenJK documentation, and it compiles in about 5 minutes on Pi itself, without any problems. Few minutes later, I got test server running happily and visible - just ready to get hit by first issue:
Files on https://github.com/MBII/OpenJK produce openjkded binaries, that report "basejka-I" as version, while binaries distributed with MB2 release return "Movie Battles II V1.3". When connecting to server hosted by self-compiled binaries, it errors out due to server-client mismatch:
After some searching, the offender is:
/codemp/game/bg_public.h
...in MB2's OpenJK fork. Namely, the 19 line should contain (and, apparently, it was the case with files used to build binaries released by MB2 team):
Code:#define GAME_VERSION "Movie Battles II V1.3"
...while, instead, it contains:
(Before anyone suggest that - no, '#' doesn't mean it is just a comment in code, this isn't snippet from shell script)Code:#define GAME_VERSION "basejka-1"
After fixing it and recompiling, clients can successfully connect to servers and float around map as spectators. Sadly, this is where the REAL problems begin - clients are hit by following issues:
1. Player in spectator sees his model - mixed with saber - floating with him, all the time, around map.
2. Joining actual game doesn't work. Selecting class and clicking "Join" result only in changing the "floating" model to selected one.
3.Many variables from server settings are ignored - for example, points (everyone got 0 n matter what is set in server.cfg), smod (rcon works fine, OTOH), g_Authenticity (it is always open, no matter what is set in config) allowing/disallowing spectators to move... Albeit, I'm sure that the config file is actually used, cause other parameters (port, server name, etc) are changing according to changes in config file.
...and probably many, many more things - given the fact that basic functions of server doesn't work, testing further was pointless.
---
To help debug the issue, I tried many combinations, amonst others:
a) Connecting via JAMP.EXE and MB2-released openjk client - no change, same issues.
b) compiling code from https://github.com/MBII/OpenJK on my desktop and hosting test server there (to eliminate highly unlikely problems with armel build only) - same bug happens, do it is definitely the MBII/OpenJK code in repository to be blamed, not target architecture.
c) Compiling (on my desktop) client from the *same* codebase (https://github.com/MBII/OpenJK) as server and connecting to it - suspecting, that client and server from the same codebase won't suffer from the issues.
Instead, this produced even bigger mess - mbii.x86_64 or mbii.i386 created from MBII git repository is in the same sorry state as mbiided. Despite having fs_game "MBII" set (just like with mbii.i386 binaries provided from MB2 release, and using same method to start self-compiled one), and seeing MB2 greeting screen, rest of UI is basejk. Connecting to server works, but it thinks it is in siege mode - and, after selecting team, client crashes, complaining about lacking UI for team select.
---
Summing it up - from the above debugging (sandbox-style), it seems obvious that code used for creating MB2's openjk binaries as seen in release is *not* the same as code on https://github.com/MBII/OpenJK. Furthermore, code on the latter is utterly broken and incompatible with the released ones, to the point of making all attempts to self-compile MB2's OpenJK fork futile.
Please, update the files in git ASAP - i think that ability to host cheap, 24/7 servers on all manners of inexpensive single-board devices is quite important thing, especially in such hard times for MB2. Not to even mention that playing MB2 on tablets, phones, and other ARM wonders (OpenPandora, anyone?) may be fun thing, too
Also - we don't want MB2 haters to file GPL violation case to FSF, do we? Considering, how frustrating it is to prosecute Asian license violaters, having a guilty party in civilized parts of the world, easily reachable by lawyers... Sole thought of it could make them enter into Wookie's Fury state and shred poor MB2 team apart.
/Cat Lady
Last edited: