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

Proper Game Type Handling #1755

Open
Katharsas opened this issue Jun 5, 2020 · 7 comments
Open

Proper Game Type Handling #1755

Katharsas opened this issue Jun 5, 2020 · 7 comments
Labels
S2 major severity 2 - major - major loss of function

Comments

@Katharsas
Copy link
Collaborator

Katharsas commented Jun 5, 2020

For discussion and finding a way to fix the game type situation. Should be linked to issues in respective repos that need changes, when there is agreement on what to do make a Github project.

Quotes from Zulip (Brutus):

Just a brief summary of what I have in my head right now

1. A lot of game type information (e.g. coop or ladder) is stored as a featured mod. This is bad because this causes a lot of hardcoded queries on stuff like leaderboards (ladder vs global) or replay handling (coop) and also downloading of patches (if ladder then use faf)
[parts of this might tackled by the new rating journal tables coming with TMM]

2. Storing game modes as featured mod also causes troubles introducing coop and tutorials for other featured mods like nomads. (You would need even more hardcoded values)
3. Featured Mods don't show dependencies between each other, but there are implicit ones (right now everything is based on faf, but fafbeta and fadevelop just override all files). This also causes issues introducing nomads tutorials or nomads coop
4. The featured mods depend on FAF, but there is no versioning. A change in FAF might influence phantomx or nomads, but these can't say which version of FAF they need.
5. Replays only store file patch information of the "top" featured mod, but not of the dependencies. Therefore if a new FAF patch comes out, all replays of all non-FAF featured mods will break.
6. We don't have patch file bundling, but rather version each file itself.
7. The whole patch bundling in zips on folder level is garbage, as it aimed for an improved patcher that is not working at all.
8. Each featured mod has 2 dedicated updater tables instead of one with pointing the featured mod (but this would not be an issue if we had a proper update mechanism)
9. Moving to a better patcher completely breaks previous replays unless you build a scary compatibility layer
10. The replay format is shit in general (zipped binary stream then base64'ed)

More quotes (Axel):

11. init.lua files are bullshit those should be auto generated by the client, but this requires info about featured mods that the current patcher does not provide
12. Coop maps are not in the vault and only in the featured mod. And the client can not handle that, how would he... I think they should be in the vault but hidden
13. The current update mechanism in the api does not auto update files on the root level when patching

@Katharsas Katharsas added the S2 major severity 2 - major - major loss of function label Jun 5, 2020
@Katharsas
Copy link
Collaborator Author

Katharsas commented Jun 5, 2020

A list of issues that related, blocked or caused by this:
#1676
#1608

@Wesmania
Copy link
Collaborator

Wesmania commented Jun 5, 2020

Related:
FAForever/faf-aio-replayserver#10
FAForever/faf-aio-replayserver#14
FAForever/faf-aio-replayserver#26
Replay format will probably change, too.

@Katharsas
Copy link
Collaborator Author

@Sheikah45
Copy link
Member

  1. is solved

@Sheikah45
Copy link
Member

  1. is also solved

@Sheikah45
Copy link
Member

12 is not an issue anymore

@Katharsas
Copy link
Collaborator Author

Nice work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S2 major severity 2 - major - major loss of function
Projects
None yet
Development

No branches or pull requests

3 participants