Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Separate the library & server components (suggestion) #8

Open
Lekuruu opened this issue Aug 21, 2024 · 1 comment
Open

Separate the library & server components (suggestion) #8

Lekuruu opened this issue Aug 21, 2024 · 1 comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request

Comments

@Lekuruu
Copy link
Contributor

Lekuruu commented Aug 21, 2024

I was thinking about splitting up the server and the gsconnect utils into separate parts, similar to what kinnay did with NintendoClients. This way, all required serialization utils could be provided with an easy-to-use and well documented python package, so that developers have an easier time implementing servers. However, this is just a suggestion. Leaving the servers in this repository is totally fine as well.

@michal-kapala michal-kapala added documentation Improvements or additions to documentation enhancement New feature or request labels Aug 21, 2024
@michal-kapala
Copy link
Owner

I've already considered creating a standalone package solely for the ease of use (i sincerely hate python's import system).

This project is very similar to nintendo clients (library + example impl), however I am still unsure of the degree of universality of the GS servers. While Quazal SDK was designed as a product with extandability in mind and every game could have its own custom services defined at the protocol level, GS seems to be a more universal proprietary solution with well-defined, centralized service architecture designed specifically for Ubisoft. The router seems to handle most of the traffic and its list of message types looks complete.

The second thing is that there will be more dependency modules (mostly encryption algorithms, protocols and data serialization) and as of now it's easier for me to maintain them in a monorepo. Once I have most of the deps I will look into publishing a GS package.

For now all server implementations go in respective subdirs and all the dependency modules that are candidates for future package are placed in the root directory.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants