Misc [RELEASE] - Wiimmfi-RPC

Deleted member 398281

Well-Known Member
OP
Newcomer
Joined
Aug 15, 2016
Messages
95
Trophies
0
Location
Somewhere you don't know
XP
244
Country
Netherlands
Note: although this program works for DS as well, I figured most people would use this for their Wii, so I decided to post it here.
This program has been out for a while now, but after a full rewrite, several waves of active development and reports from some people who seem to enjoy it, I'm finally confident enough to do an "official" release.

Ahem, *clears throat*
I present to you:


Wiimmfi-RPC
A program to show your Discord friends what game you're playing on Wiimmfi.

How does it work?
I'm glad you asked. This program works by periodically checking up on Wiimmfi's servers to see if you (your friend code) have connected to an online game. It then fetches and processes information like your player name(s) and in-game status, wraps it all up in a nice little package and sends it over to Discord to set your rich presence using this information. This allows you to automatically show your friends and server members what online game you're playing. All of that using a simple, user friendly and easy to set up GUI.

Features
  • Works for all games on all Wiimmfi-capable consoles (Wii, WiiWare, NDS and DSiWare)
  • Shows game art image for popular games
  • Supports additional room information for Mario Kart Wii
  • Easy to use friendcode manager to manage and group all of your friend codes
  • Cross-platform: tested and successfully working on Windows and Linux machines. It should theoretically work on macOS as well, although this has not been tested.
  • And many more!
Where can I download it?
For the most up-to-date information on how to install it, you should visit the GitHub repo.
I upload packaged versions of the program with every release, which means you should only have to download the correct zip file for your operating system, unzip it and run the program!

Screenshots
Discord preview
discord_preview.png


Overview
overview.png


Friendcode manager
friendcodes.png


Game ID search
game_search.png
 

banjo2

gamer
Member
Joined
May 31, 2016
Messages
2,344
Trophies
1
Location
society
Website
youtube.com
XP
5,124
Country
United States
Hey DismissedGuy, it's cool to see how far this has come since it was a command-line tool.

Earlier today I was bored and decided to collect some online information for MPH. It's all based on what I was able to gather from frooms and online matches.

The first part is pretty much just what I was working with, I decided to leave it there as it may be helpful.

Various states (ls_stat-ol_stat-status)

Private room is a friends and rivals room

Friends menu, public menu: 0-o-1
Hosting starting private room: 18-o-6
Hosting private room battle mode chosen: 1000018-o-6
Hosting rivals room battle mode chosen: 1000010-o-6
Hosting friend room battle mode chosen: 1000008-o-6
First guest of private room as friend: 0-og-2
Hosting private battle room with one friend: 21000018-o-6
Hosting friend battle room with one friend: 21000008-o-6
Hosting rival battle room with a rival:
Guest of a private battle room match: 0-og-2
Host of a private battle room match: 0-o-6
Guest end screen of a private battle room match: 0-og-2
Host end screen of a private battle room match: 0-o-6
Joining private room: 0-oh-5
Public searching local: 0-oGvS-3
Public matchmaking done 2 players: 0-oGv-2
Public battle 2 players: 0-oGv-2
Public match end 2 players: 0-oGv-2

Ls_stat (7 or 8 digits only)
(A)BCDEFGH

A = player count (only present with multiple players)
• 2 = two players
• 4 = three players
• 6 = four players
B = mode.
• 0 = Survival or undecided
• 1 = Battle or Bounty
• 2 = Defender or Capture
• 3 = Prime Hunter or Nodes
C = ?
D = ?
E = ?
F = ?
G = If 1, rivals can join.
H = If 8, friends can join.

ls_stat 18 is creating a room.

Status
1 = friends/rivals menu
2 = in existing room
3 = searching for opponents
4 = ?
5 = joining (private?) room
6 = hosting friends/rivals room

ol_stat
o = online, has various meanings
og = guest of room
oGv = public battle
oGvS = public searching for battle

I compiled this information mainly for the MPH multiplayer Discord server, but I thought it may be useful to you too :)
 
Last edited by banjo2,

Deleted member 398281

Well-Known Member
OP
Newcomer
Joined
Aug 15, 2016
Messages
95
Trophies
0
Location
Somewhere you don't know
XP
244
Country
Netherlands
Hey DismissedGuy, it's cool to see how far this has come since it was a command-line tool.

Earlier today I was bored and decided to collect some online information for MPH. It's all based on what I was able to gather from frooms and online matches.

The first part is pretty much just what I was working with, I decided to leave it there as it may be helpful.

Various states (ls_stat-ol_stat-status)

Private room is a friends and rivals room

Friends menu, public menu: 0-o-1
Hosting starting private room: 18-o-6
Hosting private room battle mode chosen: 1000018-o-6
Hosting rivals room battle mode chosen: 1000010-o-6
Hosting friend room battle mode chosen: 1000008-o-6
First guest of private room as friend: 0-og-2
Hosting private battle room with one friend: 21000018-o-6
Hosting friend battle room with one friend: 21000008-o-6
Hosting rival battle room with a rival:
Guest of a private battle room match: 0-og-2
Host of a private battle room match: 0-o-6
Guest end screen of a private battle room match: 0-og-2
Host end screen of a private battle room match: 0-o-6
Joining private room: 0-oh-5
Public searching local: 0-oGvS-3
Public matchmaking done 2 players: 0-oGv-2
Public battle 2 players: 0-oGv-2
Public match end 2 players: 0-oGv-2

Ls_stat (7 or 8 digits only)
(A)BCDEFGH

A = player count (only present with multiple players)
• 2 = two players
• 4 = three players
• 6 = four players
B = mode.
• 0 = Survival or undecided
• 1 = Battle or Bounty
• 2 = Defender or Capture
• 3 = Prime Hunter or Nodes
C = ?
D = ?
E = ?
F = ?
G = If 1, rivals can join.
H = If 8, friends can join.

ls_stat 18 is creating a room.

Status
1 = friends/rivals menu
2 = guest of friends/rivals room
3 = searching for opponents
4 = ?
5 = joining (private?) room
6 = hosting friends/rivals room

ol_stat
o = online, has various meanings
og = guest of room
oGv = public battle
oGvS = public searching for battle

I compiled this information mainly for the MPH multiplayer Discord server, but I thought it may be useful to you too :)

Oooo, that's interesting! :D One of the main issues I actually ran into is getting a reliable indication of what the player is currently doing, since the status codes can have different meanings for each game. This might help a lot if the data also (partially) applies to other games as well.

I'm assuming you only tested MPH? It would be nice if these indicators were (at least somewhat) cross-game, since I'm not planning on hard-coding every single game :blink:. Perhaps I could make game status definition files or something like that, and fall back to the current defaults if they're missing. I'll see what's the best way on how to tackle this.

In any case, thank you for sharing this info. I'll make sure to look into it :)
 
  • Like
Reactions: banjo2

banjo2

gamer
Member
Joined
May 31, 2016
Messages
2,344
Trophies
1
Location
society
Website
youtube.com
XP
5,124
Country
United States
Oooo, that's interesting! :D One of the main issues I actually ran into is getting a reliable indication of what the player is currently doing, since the status codes can have different meanings for each game. This might help a lot if the data also (partially) applies to other games as well.

I'm assuming you only tested MPH? It would be nice if these indicators were (at least somewhat) cross-game, since I'm not planning on hard-coding every single game :blink:. Perhaps I could make game status definition files or something like that, and fall back to the current defaults if they're missing. I'll see what's the best way on how to tackle this.

In any case, thank you for sharing this info. I'll make sure to look into it :)
I'll look into other games if/when I have the time :)
Definition files would probably be great.

Also, have you considered allowing your tool to view any room's statuses with your known information? Since understanding what any room is doing is difficult without having a key/list (like what I wrote) or the game being, well, Mario Kart Wii.
I get that it wouldn't be part of the main purpose of the tool, but I think it'd be a good use of the information.
 

Deleted member 398281

Well-Known Member
OP
Newcomer
Joined
Aug 15, 2016
Messages
95
Trophies
0
Location
Somewhere you don't know
XP
244
Country
Netherlands
I'll look into other games if/when I have the time :)
Definition files would probably be great.

Also, have you considered allowing your tool to view any room's statuses with your known information? Since understanding what any room is doing is difficult without having a key/list (like what I wrote) or the game being, well, Mario Kart Wii.
I get that it wouldn't be part of the main purpose of the tool, but I think it'd be a good use of the information.
I'm currently quite busy with school since we're reaching the end of the year, but I'll add definition files to the project's to-do list. It would definitely be great if you could investigate a bit on other games, but only if you feel like it of course :)

Could you elaborate a bit more on what you mean by "allowing your tool to view any room's statuses with your known information"? As far as I'm aware, you can only query room information for Mario Kart Wii, and this program only uses that information when someone is playing that game. If you mean something like being able to view all of these rooms, I might consider adding that as a separate tab if people would like to see that feature or if I've got nothing better to do:D
 
  • Like
Reactions: banjo2

banjo2

gamer
Member
Joined
May 31, 2016
Messages
2,344
Trophies
1
Location
society
Website
youtube.com
XP
5,124
Country
United States
I'm currently quite busy with school since we're reaching the end of the year, but I'll add definition files to the project's to-do list. It would definitely be great if you could investigate a bit on other games, but only if you feel like it of course :)

Could you elaborate a bit more on what you mean by "allowing your tool to view any room's statuses with your known information"? As far as I'm aware, you can only query room information for Mario Kart Wii, and this program only uses that information when someone is playing that game. If you mean something like being able to view all of these rooms, I might consider adding that as a separate tab if people would like to see that feature or if I've got nothing better to do:D
Yeah, that's what I mean. Wiimmfi doesn't "translate" any of the provided info on the stats pages for any game except for MKW, so I think this would be a good opportunity to do so :)
 

Deleted member 398281

Well-Known Member
OP
Newcomer
Joined
Aug 15, 2016
Messages
95
Trophies
0
Location
Somewhere you don't know
XP
244
Country
Netherlands
Yeah, that's what I mean. Wiimmfi doesn't "translate" any of the provided info on the stats pages for any game except for MKW, so I think this would be a good opportunity to do so :)
Hmm, I don't think you can extract the exact room configurations from that info though. :unsure: The info about MKW is probably an addition to the information provided on the stats page, instead of a translation. I'm not sure though, who knows what kind of magic is hidden underneath there:D

What I could do is make a simple list of online players, maybe with the functionality to directly add a friend code from that tab. I think that could potentially be useful since it would save users the hassle of having to manually copy their friend codes from the screen and instead simply go online, find your player in the list and click "add."
 
  • Like
Reactions: banjo2

banjo2

gamer
Member
Joined
May 31, 2016
Messages
2,344
Trophies
1
Location
society
Website
youtube.com
XP
5,124
Country
United States
I tried MKDS, unfortunately there's less info than MPH:

Main menu: 0-o-1
Regional search: 0-oGvS-3
Rival search: 0-oGvS-3
Worldwide search: 0-oGvS-3
Regional race css: 0-oGv-2
Regional race: 0-oGv-2
Course voting between races: 0-oGv-2
Friend roster with unconfirmed friend: 0-o-1
Friends search: 0-oPgC-4
Friend css: 0-oPg-2
Friend race: 0-oPg-2
Friend course select between races: 0-oPg-2
Friend result screen: 0-oPg-2
Worldwide search: 0-oGvS-3
Worldwide css: 0-oGv-2

There doesn't seem to be any difference with player count.

ls_stat never seems to change.


ol_stat
o = online in menu
oGv = playing publicly
oGvS = searching publicly (including rivals)
oPgC = searching for friends
oPg = playing with friends


status
1 = main menu
2 = playing with others
3 = searching publicly (including rivals)
4 = friends searching

(Playing does not necessarily mean racing. It applies to everything after your opponents have been selected)
 

Deleted member 398281

Well-Known Member
OP
Newcomer
Joined
Aug 15, 2016
Messages
95
Trophies
0
Location
Somewhere you don't know
XP
244
Country
Netherlands
Thanks a lot - just glancing over the data I don't think there's any specific structure that applies to all games other than some abstract rules. Therefore I think definition files are the way to go, and the program could simply fall back to these abstract rules if the definitions are missing.

I'll definitely add this as a feature when I've got time, it seems like an interesting problem to tackle. Thank you for the suggestion :D
 
  • Like
Reactions: banjo2

Dull

Active Member
Newcomer
Joined
Jul 10, 2019
Messages
25
Trophies
0
XP
133
Country
Brazil
I liked it, but there are errors. Discord is missing an image for Worms Battle Islands and Battalion Wars 2. Can you fix it?
 
  • Like
Reactions: banjo2

Deleted member 398281

Well-Known Member
OP
Newcomer
Joined
Aug 15, 2016
Messages
95
Trophies
0
Location
Somewhere you don't know
XP
244
Country
Netherlands
I liked it, but there are errors. Discord is missing an image for Worms Battle Islands and Battalion Wars 2. Can you fix it?
I'm happy to see that you like it! :D
I just uploaded assets for both of those games. They should show up the next time you play them (if they don't, a restart might be required.)

If you have any questions or suggestions, just let me know.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Veho @ Veho: