Jump to content
Korean Random
Mindstorm38

Rust crate for game's resources codecs and network protocol

Recommended Posts

Hi! I've been working for a while now on a Rust (lang) crate that provides many codecs for WG's resources. The project is split in two projects, the library and the CLI (which is new and currently not complete at all).


The library contains a "net" (network) module (feature-gated) which partially implement the backbone of the network protocol, which I have partially reverse engineered as of this writing. The module currently fully support the login app and is planned to support client/base/cell apps in the future. In order to support client/base/cell apps, all entities will be defined and imported from entities.xml and their configuration.

 

Repo: https://github.com/mindstorm38/wg-toolkit-rs

Branch for network development: https://github.com/mindstorm38/wg-toolkit-rs/tree/improve-network

 

This project was inspired in the first place by SkepticalFox's work on compiled spaces.

 

Thanks for reading!

Edited by Mindstorm38
  • Upvote 7

Share this post


Link to post

Short link
Share on other sites

I've made a lot of progress on network protocol, I can achieve a full login process and redirect the client to the base app server. I'm now working on authentication to the base app server, and only then it will be possible to work on garage synchronization. Also made a bit of reverse engineering and DLL injection to easily dump unencrypted packet, also thanks to a recent GitHub repository of a 2014 version of Open Source BigWorld (https://github.com/v2v3v4/BigWorld-Engine-14.4.1).

Edited by Mindstorm38
  • Upvote 3

Share this post


Link to post

Short link
Share on other sites

Overview of the advancement:

image.thumb.png.67f04ddcf1b32e87aa6bba4032fc674c.png

 

As you can see, there's issue with blowfish encryption because the client repeatedly retry authentication (which isn't encrypted) because it didn't understand my answer with the key 1. Just a mater of hours until it's fixed, I hope...

  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

This week I worked on a DLL injection to dump all possible client interface elements with their name, IDs, length kind and handler pointer, I'll post my findings later, maybe this weekend.

 

For the DEV realm, I don't remember trying this, but I don't really know how I can choose this...

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

I have took pjOrion from this topic

then i took the realm.pyc out off Scripts.pkg common, change the only value to 'DEV'. And put it back with 7zip. For me thats working for the actual client. To compare it with the live Mode. Helpful was also the newest izeberg offhangar mod. You can manualy turn the offline server off and so extend the logfile amount again. There will be some goodies, too.

 

Good luck. 

 

Greetings freak

Edited by freak527

Share this post


Link to post

Short link
Share on other sites

search for izeberg on bitbucket.org offhangar mod have a hidden Feature. :wink:

Edited by freak527
copyright issue

Share this post


Link to post

Short link
Share on other sites

I made huge progress in the understanding of the different applications and communication between base/cell and client app. I'm now refactoring the net module to avoid much boilerplate when I'll be implementing all elements of the client app. Once this is done, I'll be able to implement the different types of entities (scripts/entities.xml) and their properties/methods.

  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

This is a very great project! It really can make mod development easier. I´m impressed on so much commitment.

 

greetings freak

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites
09.03.2023 в 21:07, Mindstorm38 сказал:

For the DEV realm, I don't remember trying this, but I don't really know how I can choose this...

It will only affect amount of data provided in python.log.

  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...