srvpro icon indicating copy to clipboard operation
srvpro copied to clipboard

How do you guys think about making new statistics service?

Open async3619 opened this issue 5 years ago • 5 comments

Hello, I'm a developer who is making YGOPro-compatible server with TypeScript.

I'm developing YGOPro-compatible server from scratch even if there's already absolutely good one called SrvPro. because...

Just until a few months ago, I didn't even know whether if there is YGOPro statistics service like MyCard or not and I thought that would be awesome when Yu-Gi-Oh card game has proper statistics service like HSReplay of Hearthstone since many of beginner users are complaining of difficulties due to lacking of information. BUT there was a really huge problem before start my project: How can I collect data from players for statistics?

Firstly, I thought I can fork the YGOPro client source code and inject some code snippets that sends data from client to server. but It was really bad idea since I should re-distribute edited-version of YGOPro client.

I could make an application that intercepts data (like _LastReplay.yrp) from YGOPro client and send it to server automatically. and It was bad idea too since I should make players to install my own application. 😂

And in the meantime, I came up with a good idea: Making a dedicated server that could collect replay data.

In Korea, server based on SrvPro was running by YGOPro player but there were several problems like a server fee, etc. so unfortunately he had to stop running server.

As a result of closing Korean server, a huge amount of Korean player moved to foreign servers like ygo233.com and koishi.moecube.com. and as you know, Korean users have been feeling uncomfortable with such things as abusive language between players and chronic Internet speed problems. so I thought I can provide really good environment to players when I make Korean server.

now I'm running Korean Server but still a big amount of Korean users are using YGO233 server. so I'd like to ask you if I can contribute to your code to make that server automatically provide statistics data to my server.

I know and admit that this is really ridiculous question but still, I really want to make beginners like me to learn Yu-Gi-Oh as easy as possible.

async3619 avatar Feb 28 '20 07:02 async3619

Would you try replay dashboard? put settings.modules.tournament_mode to true and set those things up to enable the dashboard. and you may use the dashboard at srvpro.ygo233.com to collect those replays. In addition, you may fetch replays by accessing that API to get the replays from the dashboard in your service.

purerosefallen avatar Mar 08 '20 05:03 purerosefallen

Anyway, if you would like making the server directly post the replay to your own server, you may write a plugin for it, hooking STOC_REPLAY using ygopro.stoc_follow_after. See Wiki for details.

purerosefallen avatar Mar 08 '20 05:03 purerosefallen

Oh I think we were miss the point. I wanted to ask you guys to use my code which uploads data required to analyze duel information because your server is most biggest server on YGOPro Core environment. it would provide a ton of data samples to analyze. so if you guys allow me to do, I'll gladly make pull request or commit.

and I think we don't achieve analyzing task only with replay data since it has no important data such as full deck information (there's no side deck information on *.yrp files as you guys already know), player position, room settings.

yeah sure I think this is quite ridiculous to ask you guys to use my code but I hope you guys to consider this to provide rich statistics information for world-wide Yu-Gi-Oh users.

async3619 avatar Mar 09 '20 00:03 async3619

How about making a plugin to post your needed data?

purerosefallen avatar Mar 09 '20 11:03 purerosefallen

@purerosefallen I’ll make pull request about it as soon as possible

async3619 avatar Mar 09 '20 19:03 async3619