Jump to content

Ra'Jiska

Member
  • Content Count

    16
  • Joined

  • Last visited

  • Medals

Everything posted by Ra'Jiska

  1. Hello, JAPM is an Open Source Project which aims to be a substitute for current public PBO managers which are often outdated or crashy depending of the format of the PBO Archive. The project is built in C and cross platform supporting both Linux and Windows systems. JAPM Features: Open Source PBO Pack / Unpack Supports Extended Headers (often crashing other PBO managers) Supports Compression (often crashing other PBO managers) Github: https://github.com/RaJiska/JAPM Binaries: https://github.com/RaJiska/JAPM/releases I would appreciate if you'd open an issue or a pull request in case you find a bug. You can also leave a suggestion if you feel a new feature is necessary.
  2. Thank you very much for your support !
  3. Ra'Jiska

    PBO File Format

    Hello, I am currently working on a PBO Manager-like tool which would aim to be able to extract any PBO file format without crashing (unlike other PBOs Manager wich crash depending of some variants). To do so I've looked for some documentation regarding the format, and found two pages: - https://community.bistudio.com/wiki/PBO_File_Format - http://wiki.xentax.com/index.php/PBO_SREV The documentation found is quite incomplete, as for an example, documentation on the magic bytes is nowhere to be found in the Bistudio wiki. Here are the two file formats I've found and one which I could not find any resources in either wiki pages: Regular Format: /* Magic Bytes [A0 73 72 65 56] - Followed by 17 null bytes */ struct { Asciiz filename; uint32_t packingMethod; uint32_t originalSize; uint32_t junk; uint32_t timeStamp; uint32_t dataSize; }; ... Variant Format: /* Magic Bytes [00 73 72 65 56] - Followed by 16 null bytes */ struct { Asciiz someString; ... Asciiz someOtherString; uint8_t nullByte = 0; struct unknownStruct { /* Unknown Data of approximatively 45 bytes (varies between PBOs) */ }; }; struct { Asciiz filename; uint32_t packingMethod; uint32_t originalSize; uint32_t junk; uint32_t timeStamp; uint32_t dataSize; }; ... You'll note that both are distinguished with their magic bytes, with the first byte changing for the variant format and the extra null byte in the regular format. What does represent the first byte of the magic bytes sequence ? Why does the null byte sequences in the magic bytes sequence varies depending of the format ? What does it represent ? What are the strings of the variant format used for in the first structure ? What are the unknown data in the unknown structure in the variant format ? Why does it vary ? Thanks for your help !
  4. Ra'Jiska

    PBO File Format

    Oh, thank you, I already gave a look at the Community Utilities section which was not what I was looking for, but I did not see the Bi Tools' one. I'll post it there, thanks !
  5. Hello, I'd like to know what do object name means, for houses for example. Here is the object name for a shed: 57f2c800# 953602: i_shed_ind_f.p3d ; what does '57f2c800' and '953602' stand for ? How are they assigned ? But also, how come 57f2c800 is sometimes not synchronized between client & server while the 953602 is ? Thank you for your help.
  6. Work like a charm. Thank you very much guys ! Concerning the first block it doesn't look like the location in memory as most of the time it's equal to client's.
  7. Don't worry about that anymore, I managed to extract the needed part, as the first block doesn't seem very important. However, I'd need to convert a string to a house object. So let's say I have this string, "57f2c800# 953602: i_shed_ind_f.p3d" is there any way to convert it to the object pointing to the house ? Currently, the only way I found was doing: _a = "57f2c800# 953602: i_shed_ind_f.p3d"; _b = missionNamespace getVariable [_a, objNull]; However, the _b variables ends up being a NULL object while I wish it to point to the house I designed. Do you know if there is a way to accomplish this.
  8. This part represents the object ID 953602, it looks to be synced over every players. I'd say it is the object map ID. However, 57f2c800 is synced with clients most of the time but some time it just isn't, I use the whole static object ID to compare some stuff. Do you know what the first part refers to and do you know if it'd be a problem if I'd only take what is after the '#' to compare stuff ? Thanks.
  9. Hello, We are having troubles signing our PBOs using the DSUtils tools (command line). Basically, here is how we do it: > DSCreateKey.exe test > DSSignKey.exe test.biprivatekey cba_ai.pbo Files 'test.biprivatekey', 'test.bikey', 'cba_ai.pbo.test.bisign' were generated. Now, we move 'cba_ai.pbo' and 'cba_ai.pbo.test.bisign' in the folder '<Arma3RootFolder>/@test/addons/'. Then, we move 'test.bikey' in the folder '<Arma3RootFolder>/Keys/'. Then, when starting the game, we make sure to enable 'Verify Signatures', and we launch it. Here is the error we get though: Signature I:\Program Files (x86)\Steam\steamapps\common\Arma 3\@test\addons\cba_ai.test.bisign is wrong. Err 0x20. Test FAILED! Is anyone able to help us through this ? If needed, a video of the procedure we've been following can be provided. Thanks.
  10. The thing is Verify Signature client side is the same server side. If it gives an error on client side, server will also reject players joining while this error happens.
  11. Is anyone able to help ?
  12. Hmm... that's rather strange, we even re-installed a server with the configuration file given in the wiki, but couldn't get it to work neither.
  13. Hey, Since 1.58, we're having troubles with the server. No one seem to be able to join and server spams error. Here are the logs: http://paste.ubuntu.com/15972486/ ; You can note on line 359, an issue which wasn't hapening before. Is this a known bug ? Is there a way to reverse to 1.56 before it gets fixed if it is a bug ? Thanks.
  14. Hey, sorry for necroing this thread but cannot create any new one. Is there any way to compile C++ code into Shared Object for Arma ? I've been compiling it with gcc & g++ many times, but only the C code is working (otherwise extension isn't loaded). Here are the commands I used: gcc -shared -fPIC -m32 -o example.so example.c gcc -shared -fPIC -m32 -o example.so example.cpp g++ -shared -fPIC -m32 -o example.so example.c gcc -shared -fPIC -m32 -o example.so example.cpp Thanks.
  15. Hello, I got an issue with the extDB.so on Linux (Ubuntu 14.04.1). I'm getting a SegmentationFault error just after start (when the first user joins). How would I be able to solve it ? Is there somewhere a FAQ or anything containing this answer ? Thanks for your help.
×