Stan` Posted March 1, 2023 Report Share Posted March 1, 2023 Hello everyone, Today I would like to share a project that's been in the back of my mind for a while. Sharing replays has always been a mess and annoying and I wanted to address that a bit by providing a centralized address so that all replays you want to share can be uploaded there. I made a proof of concept Using Svelte & Fastify and it's now using React instead of Svelte. I'd like to hear your feedbacks about what you'd want the UI to look like, what filters would you like to see etc, details about the match (we don't have the possibility to get all the info) Here are some screenshots (Keep in mind the layout isn't set in stone, just wanted to have a convenient way to test things out) For security reasons there will be no direct upload button there if it gets online. You'll need to be approved by me or another administrator first. One can upload a zip containing a replays or containing multiple folders with replays, or just the commands.txt or the commands.txt and the metadata.json. There is no e-mail confirmation. LIVE AT: https://replay-pallas.wildfiregames.ovh/ Sources at: Quote https://github.com/StanleySweet/replay-pallas https://github.com/StanleySweet/replay-pallas-scrapper https://github.com/StanleySweet/replay-pallas-api 10 5 Quote Link to comment Share on other sites More sharing options...
Feldfeld Posted March 1, 2023 Report Share Posted March 1, 2023 (edited) Good idea, could be nice if we could name replays and perhaps provide a description. Also civilisations are missing Edited March 1, 2023 by Feldfeld Quote Link to comment Share on other sites More sharing options...
hyperion Posted March 1, 2023 Report Share Posted March 1, 2023 One of the things I had in my mind as nice to have. Just I'd start with an export / import replay feature in-game. There are many who struggle with exporting manually and we see formats like 7z, rar and what not. Also there are possible file collisions with this approach. So having a standardized replay file format (pyroreplay ?) taking care of all such nuisances would already much improve the replay sharing situation. Once in place this format would then be the basis of such a service. Quote Link to comment Share on other sites More sharing options...
Stan` Posted March 1, 2023 Author Report Share Posted March 1, 2023 39 minutes ago, hyperion said: Also there are possible file collisions with this approach Well MatchId is supposed to be unique. If that proves to not be enough we can add the timestamp. 40 minutes ago, hyperion said: One of the things I had in my mind as nice to have. Just I'd start with an export / import replay feature in-game. There are many who struggle with exporting manually and we see formats like 7z, rar and what not. Yeah rar and 7zip would be an issue. So far most people usually upload a zip or two files. Yeah export would be nice inside the game but adding something to save files anywhere from JS is a can of worms I suppose. Same as exposing a curl api. The main issue is that on macOS and Linux all the interesting files are in hidden folders... Importing replays sounds more manageable if we drag and drop them like mods. For now though I don't plan to touch the game 1 hour ago, Feldfeld said: Good idea, could be nice if we could name replays and perhaps provide a description. I'll think about it. For now I planned to call it more a vs b vs c or a,b,c vs d,e,f. And adding tags like, tournament, 1v1 etc Quote Link to comment Share on other sites More sharing options...
sternstaub Posted March 1, 2023 Report Share Posted March 1, 2023 10 minutes ago, Stan` said: Yeah export would be nice inside the game but adding something to save files anywhere from JS is a can of worms I suppose. Same as exposing a curl api. The main issue is that on macOS and Linux all the interesting files are in hidden folders... Would it not be possible to link the replay folder to a visible location like ~ at some point, maybe on game start or installation? Quote Link to comment Share on other sites More sharing options...
Stan` Posted March 1, 2023 Author Report Share Posted March 1, 2023 Just now, sternstaub said: Would it not be possible to link the replay folder to a visible location like ~ at some point, maybe on game start or installation? Well I could then overwrite your .bashrc... 1 1 Quote Link to comment Share on other sites More sharing options...
sternstaub Posted March 1, 2023 Report Share Posted March 1, 2023 Just now, Stan` said: Well I could then overwrite your .bashrc... If it is done on installation and the user can assume that the installation file is trustworthy, you would only have to link once. Meaning that the possible exploit is limited to a time frame of installation. Never thought about this, but is there no way of prompting a UNIX user for such operations? Or use sudo for that single operation? Something of that sorts. Once there is a link to the replay DIR, no further w/access would be needed. Quote Link to comment Share on other sites More sharing options...
hyperion Posted March 1, 2023 Report Share Posted March 1, 2023 14 minutes ago, Stan` said: Well MatchId is supposed to be unique. If that proves to not be enough we can add the timestamp. Not using the service but the current approach of zipping and unzipping with "date-gamenumber". Also people use arbitrary root, wonder whether they need metadata.json and so on. 18 minutes ago, Stan` said: Yeah export would be nice inside the game but adding something to save files anywhere from JS is a can of worms I suppose. Same as exposing a curl api. Those things would have to be done by the engine (c++) ofc. The UI just calls into the engine. 10 minutes ago, sternstaub said: Would it not be possible to link the replay folder to a visible location like ~ at some point, maybe on game start or installation? You can simply create a symlink to the replay directory at any time, no need for the engine to know about it at all. Quote Link to comment Share on other sites More sharing options...
sternstaub Posted March 1, 2023 Report Share Posted March 1, 2023 3 minutes ago, hyperion said: You can simply create a symlink to the replay directory at any time, no need for the engine to know about it at all. Then there is no problem to be solved here. 1 hour ago, hyperion said: Just I'd start with an export / import replay feature in-game. ? Quote Link to comment Share on other sites More sharing options...
Stan` Posted March 1, 2023 Author Report Share Posted March 1, 2023 11 minutes ago, hyperion said: Not using the service but the current approach of zipping and unzipping with "date-gamenumber". Also people use arbitrary root, wonder whether they need metadata.json and so on. As long as you have the commands.txt it's fine. I just assume one commands per subfolder. That's because the game creates folders like that. Commands.txt have a unique MatchId, which is shown on one of the screenshot, you can turn the timestamp into a date aswell. Gamenumber doesn't really make much sense since it depends on the machine. Quote Link to comment Share on other sites More sharing options...
hyperion Posted March 1, 2023 Report Share Posted March 1, 2023 1 hour ago, sternstaub said: ? 42 ... , well this question doesn't have enough meat for me to answer. 1 hour ago, Stan` said: As long as you have the commands.txt it's fine. I just assume one commands per subfolder. That's because the game creates folders like that. Commands.txt have a unique MatchId, which is shown on one of the screenshot, you can turn the timestamp into a date aswell. Gamenumber doesn't really make much sense since it depends on the machine. Well, I only have ever seen 2 users generating replay archives indicating they are aware of the specifics involved and so making it possible for others to just unpack those. (I'm only talking about solving the sharing of replays P2P via forum, mail etc without any dedicated service here) Developing a service in tandem or first may not be bad tho, as it may highlight additional requirements (title and tags were mentioned already) for a potential pyroreplay format. Quote Link to comment Share on other sites More sharing options...
Stan` Posted March 1, 2023 Author Report Share Posted March 1, 2023 36 minutes ago, hyperion said: Well, I only have ever seen 2 users generating replay archives indicating they are aware of the specifics involved and so making it possible for others to just unpack those. (I'm only talking about solving the sharing of replays P2P via forum, mail etc without any dedicated service here) The tournament thread is filled with zip with multiple replays 36 minutes ago, hyperion said: Developing a service in tandem or first may not be bad tho, as it may highlight additional requirements (title and tags were mentioned already) for a potential pyroreplay format. Yeah Titles are a bit dangerous for me, for its extra moderation. Some of the matches name in the mp lobby are pretty bad. Not sure how I'm gonna tackle tags though. I was thinking of doing it through the interface with a curated list one could choose from Quote Link to comment Share on other sites More sharing options...
hyperion Posted March 1, 2023 Report Share Posted March 1, 2023 1 hour ago, Stan` said: Yeah Titles are a bit dangerous for me, for its extra moderation. Some of the matches name in the mp lobby are pretty bad. Not sure how I'm gonna tackle tags though. I was thinking of doing it through the interface with a curated list one could choose from A somewhat valid concern. Using the match title in the lobby is unsuitable as likely you want to name it after the game and it should also support single-player matches. For tags I'd go with free form first. If it becomes an issues it's still not to late to not show them or even filter them using the service. Also you haven't mentioned GDPR yet Quote Link to comment Share on other sites More sharing options...
Stan` Posted March 1, 2023 Author Report Share Posted March 1, 2023 1 hour ago, hyperion said: A somewhat valid concern. Using the match title in the lobby is unsuitable as likely you want to name it after the game and it should also support single-player matches. Yeah my point was I don't trust some people uploading replays Whether it's SP or MP. As long as it's a handcrafted title, it's risky. 1 hour ago, hyperion said: Also you haven't mentioned GDPR yet Indeed. Anonymising all nicknames sounds annoying, but it's doable. Quote Link to comment Share on other sites More sharing options...
Stan` Posted January 27 Author Report Share Posted January 27 live version at https://replay-pallas.wildfiregames.ovh 5 1 Quote Link to comment Share on other sites More sharing options...
0 calories Posted January 27 Report Share Posted January 27 so no read-only access all under registration? Quote Link to comment Share on other sites More sharing options...
Stan` Posted January 27 Author Report Share Posted January 27 For now yeah. I may reconsider in the future but I don't like the idea of having the api left unrestricted Quote Link to comment Share on other sites More sharing options...
Stan` Posted January 27 Author Report Share Posted January 27 Published some updates to the dark mode, a few fixes and a new graph. 1 Quote Link to comment Share on other sites More sharing options...
Feldfeld Posted January 28 Report Share Posted January 28 Nice to see it up! Seems like the website enforces a password of length 9 despite claiming it should be 8 characters. On the Local Ratings section, the number of matches column doesn't seem consistent with other data. (also I'd argue that for 1v1 some form of elo system is always going to be better than local ratings) Quote Link to comment Share on other sites More sharing options...
Stan` Posted January 28 Author Report Share Posted January 28 4 hours ago, Feldfeld said: Nice to see it up! Seems like the website enforces a password of length 9 despite claiming it should be 8 characters. On the Local Ratings section, the number of matches column doesn't seem consistent with other data. (also I'd argue that for 1v1 some form of elo system is always going to be better than local ratings) Indeed, thanks for the report(s)! I do have the game's elo from the names, would you like to see a graph about that ? Plotted by date something like Game Rating Evolution? Quote Link to comment Share on other sites More sharing options...
Feldfeld Posted January 28 Report Share Posted January 28 26 minutes ago, Stan` said: Indeed, thanks for the report(s)! I do have the game's elo from the names, would you like to see a graph about that ? Plotted by date something like Game Rating Evolution? The idea I had in mind was to start an elo ranking from scratch and give it the data from the replays collected only. Quote Link to comment Share on other sites More sharing options...
Stan` Posted January 28 Author Report Share Posted January 28 Sounds fine (we can still compare it with the in-game rating) I don't know the maths though, so I'll need some help with that. Also I need to know which replays would be concerned or how many elos one would have. There is rated/non rated Teams locked NvN AI's Some matches don't have informations about who won and should probably be excluded. If I can gather a good enough specification, I can make the code. Quote Link to comment Share on other sites More sharing options...
Feldfeld Posted January 28 Report Share Posted January 28 My idea would be for 1v1 only both ranked and unranked, team games would use the Local Ratings. As for the algorithm, I heard some form of Glicko was state of the art but I don't know more. Would need opinions of others to know if it even is a desired feature. Quote Link to comment Share on other sites More sharing options...
Stan` Posted January 28 Author Report Share Posted January 28 25 minutes ago, Feldfeld said: My idea would be for 1v1 only both ranked and unranked Separate ratings for both? Or one ? Spoiler team games would use the Local Ratings. Should it keep the 1v1 then? 27 minutes ago, Feldfeld said: Would need opinions of others to know if it even is a desired feature. Sure I'll wait for the input Quote Link to comment Share on other sites More sharing options...
Feldfeld Posted January 28 Report Share Posted January 28 5 minutes ago, Stan` said: Separate ratings for both? Or one ? No separation 6 minutes ago, Stan` said: Should it keep the 1v1 then? I'd say ideally, no Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.