Multiplayer
#16
(2017-01-18, 23:45)garbear Wrote:
(2017-01-18, 09:13)Hedda Wrote: Lobby system
Database powered lobby with support for friends, rooms, quick match, ranking, email, and multiple titles.
This would be useful, but again requires a central server.
Yes but as mentioned to could possible also rely on Kodi's MyBB forum database as a backend to handle a lot of the user-information as it already has the support for users, passwords, friends, and email.

Regardless I think that it would be a good idea for Kodi to have a deficated central server (or better a HA server cluster) just for hosting Kodi's lobby, with support for friends, rooms, quick match, ranking, email, and multiple titles.

(2017-01-18, 23:45)garbear Wrote:
(2017-01-18, 09:13)Hedda Wrote: Voice communication
Includes audio bindings for Port Audio, FMOD, and DirectSound.
Kodi already has audio bindings for every platform we run on.
By "voice communication" they mean VoIP voice chat, for talking with each other over the internet during games using headsets during, like with TeamSpeak or Skye, and that is not something that Kodi have today.

(2017-01-18, 23:45)garbear Wrote: Will RakNet be alive and supported in 6 years? (6 years is the half-life for Linux kernel code)
Good question, and as mentioned I don't even know if RakNet is even still alive right now. Best thing would probabably be to ask Oculus VR directly (not Facebook).
Reply
#17
(2017-01-18, 23:56)garbear Wrote:
(2017-01-18, 13:21)Hedda Wrote:
(2017-01-18, 11:57)docwra Wrote: Unique usernames (Kodi ID?)
This could also be a way to further build the Kodi community as you would get more users who might normally not create a user of the Kodi community forum.
Encouraging cross-participation with the forum would be awesome. Would you also add the option to authenticate with Facebook/Google? Authorization could also occur, allowing you access to friend lists for social discovery.
That could also be a possibility, you could maybe make it so those who want could connect your LastPass, Google, or Facebook account to your Kodi forum account for authentication. Like how you nowdays connect your LastPass, Google, or Facebook account to everything just to use their single-sign-on services so that you don't need to keep track of your individual accounts and passwords.

I mean, I have a Facebook account but I and probabably many others here don't "use" Facebook for its initial intended purpose any longer, as I today practically only use Facebook as a contact list and to get access to its Private Messanger features, and not to post my current status or publicly share photos to people I no longer have any real-life contact with anymore.

(2017-01-19, 09:43)Hedda Wrote:
(2017-01-18, 23:45)garbear Wrote:
(2017-01-18, 09:13)Hedda Wrote: Lobby system
Database powered lobby with support for friends, rooms, quick match, ranking, email, and multiple titles.
This would be useful, but again requires a central server.
Yes but as mentioned to could possible also rely on Kodi's MyBB forum database as a backend to handle a lot of the user-information as it already has the support for users, passwords, friends, and email.

Regardless I think that it would be a good idea for Kodi to have a deficated central server (or better a HA server cluster) just for hosting Kodi's lobby, with support for friends, rooms, quick match, ranking, email, and multiple titles.

(2017-01-18, 23:45)garbear Wrote:
(2017-01-18, 09:13)Hedda Wrote: Voice communication
Includes audio bindings for Port Audio, FMOD, and DirectSound.
Kodi already has audio bindings for every platform we run on.
By "voice communication" they mean VoIP voice chat, for talking with each other over the internet during games using headsets during, like with TeamSpeak or Skye, and that is not something that Kodi have today.

(2017-01-18, 23:45)garbear Wrote: Will RakNet be alive and supported in 6 years? (6 years is the half-life for Linux kernel code)
Good question, and as mentioned I don't even know if RakNet is even still alive right now. Best thing would probabably be to ask Oculus VR directly (not Facebook).

Kind of off-topic; but please keep in mind that the idea of a centralized Kodi server that stores user account information and friend lists (social connections) for a lobby system could also be used to synchronic user-profiles between Kodi instances, as an online user-profile, and I don’t mean for gaming only but for normal Kodi usage when just watching movies or listening to music too. This could then also be used to for example remotely watch movies and TV shows together if Kodi could synchronize them over the internet and offer voice chat.

Not that I would expect a Kodi centralized server itself to host my library database or keep track of what I watch and listen to, but I think that it would be cool to use my Kodi community forum user account to login to all my Kodi instances and it would set all my preferred setting on first install, and cache my pin-code for quick login. And that it would do the same for all the other members of my family.

I would love for Kodi to be more like Netflix or Plex when it comes to the handling of user-profiles, at least in that it would be very nice if there was an option for login authentication to be done via a centralized-server and some basic information about your preferences are stores in a central location. Like your username, a pin-code for quick-login (which can be cached on each device), region/time-zone, and preferred languages for GUI, audio track, and subtitles. And maybe also keep some basic information about my preferred configuration and user accounts for web scrapers and social scrobblers like Last.fm
Reply
#18
It looks like you can wrap it in anything

http://wiki.mumble.info/wiki/Running_Murmur

Compatibility With RPC-Interfaces
For full functionality with an RPC interface, Murmur requires either a working DBus daemon or Ice installation that is enabled. We recommend using the Ice interface; DBus is considered deprecated and although it will not be removed in the near future, it is not receiving any new functionality. Once you have Murmur working with the RPC interface, you can install a compatible web interface; see below for possible options.
Authenticating With an External Database/Forum
Ice
For phpBB3, there is phpBB3auth. You must point the python script to the ini file; read the in-source documentation for more infomation.
For SMF (Simple Machines Forum), there is smfauth. You must point the python script to the ini file; read the in-source documentation for more infomation.
DBus
There is an extended example of how to use the authenticator called scripts/dbusauth.pl. You'll need to configure where your phpBB3 database resides, but once that is done you'll simply have to run the script after starting murmur to allow authentication to be done through the phpBB3 database.
Any group associations the user has on phpBB3 is copied to a temporary group on a root channel (and by default inherited to all subchannels). Please note that this is a temporary group membership and as such will not show up in the Edit ACL dialogs.
http://wiki.mumble.info/wiki/Main_Page

Free software - no licensing hassle
Open Source - open in security and technology, and open to extendibility
Extensive user permission system (ACL)
Extendible through Ice middleware
Web interfaces - free choice of several community free software projects
Channel viewers - even without direct Ice access, if the hoster provides the CVP, easily set up your channel viewer of choice
Authenticators - to allow users to authenticate against an existing user database
Custom chat commands and context (right click) menu entries
https://github.com/mumble-voip/
https://github.com/mumble-voip/mumble/re...tag/1.2.18
OS :Android 5.1
Box: Matircom G Box AMLS812
Kodi: SPMC
Skin APPTV
Country:USA
Connection ADSL(11MPS) , Ethernet
Game Systems : Wii, PS3
Cable Provider: WOW! (Wide Open West)
Media servers (windows 10 PC) Mediaportal, Playon, Kodi

Reply
#19
I was looking for the post that RetroArch did to explain futures netplay improvements, but I don't know where it is.

I only found the target description in patreon: https://www.libretro.com/index.php/we-ar...n-patreon/ and the new year post: https://www.libretro.com/index.php/happy-new-year/ but I read something in other place, but I can't find.

But today people posted this in reddit r/emulation:


https://www.reddit.com/r/emulation/comme...irst_look/

Is only a new feature of "quick netplay" (not MM) and in comments they give this link: https://bot.libretro.com/docs/tech/netplay/
Reply
#20
And here are adding the lobby system:
https://forums.libretro.com/t/netplay-lobbies/8425

http://lobby.libretro.com
Reply
#21
(2017-01-23, 11:59)Julipo Wrote: And here are adding the lobby system:
https://forums.libretro.com/t/netplay-lobbies/8425/11

http://lobby.libretro.com

Pretty sweet!

Reply
#22
(2017-01-19, 09:43)Hedda Wrote:
(2017-01-18, 23:45)garbear Wrote:
(2017-01-18, 09:13)Hedda Wrote: Lobby system
Database powered lobby with support for friends, rooms, quick match, ranking, email, and multiple titles.
This would be useful, but again requires a central server.
Yes but as mentioned to could possible also rely on Kodi's MyBB forum database as a backend to handle a lot of the user-information as it already has the support for users, passwords, friends, and email.

Regardless I think that it would be a good idea for Kodi to have a deficated central server (or better a HA server cluster) just for hosting Kodi's lobby, with support for friends, rooms, quick match, ranking, email, and multiple titles.
+1 for a centralized server, and on that note:

FYI, the codebase for Ignition API Server + client code is available on GitHub (and BitBucket), and it is meant for exactly this, to be a social multiplayer retro gaming platform:

https://github.com/alexjstubbs/api-server
https://github.com/alexjstubbs/ignition-dev
https://github.com/alexjstubbs/ignition-manual
https://github.com/alexjstubbs/ignition-website

The developer of Ignition had a lot of good ideas on how one could do a great lobby system and GUI for retro multiplayer. Both on client and server side on if:

https://www.kickstarter.com/projects/171...e-raspberr

It is really too bad that the Ignition (Social Retro Gaming OS) project now looks to have failed because its developer have gone M.I.A. (away from public eye).

Even if the main website (ignition.io) is down the software made beta, the Atlassian project with wiki is still online, and some code looks to be posted on GitHub/BitBucket so maybe we can still steel some of its better ideas?

https://ignitionio.atlassian.net/secure/Dashboard.jspa
https://ignitionio.atlassian.net/wiki/x/CABX
https://github.com/alexjstubbs?tab=repositories
https://bitbucket.org/ignition-dev/

Most of it is under "AS IS" licenses without restrictions or GPL compliant licenses, though perhaps would only want to take ideas from it anyway and not code?
Reply
#23
(2017-01-16, 22:55)garbear Wrote: My design requirements for multiplayer RetroPlayer are pretty expansive. I'll list them here:
  • Serverless, p2p design
One option to that approach could be to use "ØMQ" ( ZeroMQ 'zero-em-queue' http://zeromq.org ) distributed messaging library to implement a brokerless system.

ZeroMQ is a messaging library that gives you a socket system which allows you to design a complex asynchronous messaging communication, socketing, concurrency, or process management systems easier.

ZeroMQ have the potential to be used in Kodi for other stuff than gaming, like asynchronous syncronization of distributed database between many clients.

http://zeromq.org/intro:read-the-manual

http://zguide.zeromq.org/page:all

https://vimeo.com/20605470

EDIT: Also checkout https://twit.tv/shows/floss-weekly/episodes/195

Team Kodi could still also have a seperate central message queue broker server that clients could subscribe to different types of events and asynchronously receive trusted info, but using ZeroMQ you might not need a central server for most things you would want.

Regardless it might be worth for you to look to ZeroMQ.
Reply
#24
Looks like this is about online multiplayer, is it possible to do local multiplayer? I had loaded up a game with a multiplayer feature, but player 2 was unable to make a selection.
Reply
#25
FYI; Valve released GameNetworkingSockets as an open source library about a year ago though not sure if its "AS IS" open source licence is compatible with Kodi (looks like a 3-clause BSD license), but it probably is?

https://github.com/ValveSoftware/GameNetworkingSockets

https://github.com/ValveSoftware/GameNet...er/LICENSE

Valve's GameNetworkingSockets is written in C++, its a battle-tested messaging layer and development is still active but the code is supposedly a mess, so could be much more work to get it working than with the RakNet code/libraries.

https://github.com/facebookarchive/RakNet

While the upstream RakNet is unmaintained these days since Facebook bought Oculus there are several active RakNet forks available that are based on the RakNet code they still have a lot more features and much better documentation.

Couple examples on active RakNet forks are SLikeNet and CrabNet

https://github.com/SLikeSoft/SLikeNet

https://github.com/TES3MP/CrabNet

Worth keeping mind that RakNet had more than 13 years of active development and already had mature and very stable code even before Facebook bought Oculus.
(2017-01-18, 09:13)Hedda Wrote: Much of that and more could probabably be achieved relativly quickly with RakNet gaming networking engine, as suggeted here before:

http://forum.kodi.tv/showthread.php?tid=201868

Doesn't however look like RakNet is still maintained on GitGub, or at least no new commits during last year. The project is still getting pull requests, so maybe fork that project or parts of its code? It is now all FOSS licensed under a BSD "as is" license so should be GPL compatible:

https://github.com/OculusVR/RakNet

Old website is still live and lists most features and functions of RakNet but that website have not been updated since Oculus VR bought it and made the software free and open source as a community driven project.

http://www.jenkinssoftware.com/features.html

Still, I think RakNet could be used here to more quicly get a proof-of-concept up and running. Personally I think that the lobby system is most interesting and maybe the hardest to make in a good way for social discovery. From within that lobby it would also be cool to start text chats and voice chat with people you are already connected to as friends.

Key featrures of RakNet 4 include: object replication, remote procedure calls, patching, secure connections, voice chat, lobby system for friends / community chats and leaderboard ranking, and real-time SQL logging. The technology has been licensed by thousands of indie developers, as well as companies like Unity, Havok, Mojang, Maxis and Sony Online Entertainment.
Reply
#26
@garbear 

Will the redesign of the RetroPlayer include a disc swap feature?
I am asking, since this seems to be one of the more important basic features for PSX that is still completely missing what makes a ton of good classic games unplayable.
No offence meant and great work so far! Just wondering if it is in the planning.
Reply
#27
@garbear Have you given any more thought about picking up your ideas on adding online netplay (networked multiplayer gaming) support to RetroPlayer emulators for libretro in Kodi?

The upstream Libretro/RetroArch project has come far if look at the RetroArch GUI from an end-user perspective, though their developers have however flagged that their underlying netplay implementation is starting to show its age:
   
They even have a netplay rooms in RetroArch and an online netplay lobby browser available on the web:
 

 
Reply
#28
@RockerC Thanks for the links. Because I first and foremost care about performance and security, I would probably use webrtc. Particularly, these protocols: IP/UDP/STUN/TURN/ICE/DTLS/SCTP. Sorry about that alphabet soup. But all we really need is simple state machine replication in a trusted group of peers.
Reply
#29
(2021-03-01, 07:28)garbear Wrote: ...all we really need is simple state machine replication in a trusted group of peers.

If you decide to look netplay again then can I suggest that you maybe use the Mr.Boom (8-player Bomberman clone) game add-on when making a proof-of-concept?

https://kodi.wiki/view/Add-on:Mr.Boom_(Bomberman)

https://github.com/kodi-game/game.libretro.mrboom

https://github.com/Javanaise/mrboom-libretro
Reply
#30
(2017-01-16, 22:55)garbear Wrote: Video decoding (for e.g. GameStream) has been removed from RetroPlayer because it used some private VideoPlayer APIs. I'm taking this advantage to redesign RetroPlayer for multiplayer support. Because this involves encoding and stream video, not just decoding, we basically get GameStream for free.

My design requirements for multiplayer RetroPlayer are pretty expansive. I'll list them here:
 
  • Serverless, p2p design
  • Social discovery
  • Global discovery

Have you guys heard about the upcoming "Piepacker" social online-multiplayer retro emulator app start-up on Kickstarter?

https://piepacker.com/kickstarter

It sounds a little bit like a web-application version of Ignition ("A Social Retro Gaming OS") by Alex Stubbs which looked very promising but was unfortunately abandoned/discontinued when its developer went MIA.

https://www.kickstarter.com/projects/171...e-raspberr

https://github.com/alexjstubbs?tab=repositories

I am sure that Piepacker's networking code will be closed-source (which IMHO sucks) however I still thinkt that many of its retro-gaming online-multiplayer features they have begun to try to hype before its launch do sound cool.

Maybe could borrow some of its connection concept ideas for online-multiplayer features in Kodi Game?
 
  • "Create a room and invite anyone with one click" = User-friendly quck-start online-multiplayer?
  • URL shortener link to invite friends (e.g. https://game.kodi.tv/XyZ123 ) = point-to-point but via centralized URL URL shortener forwarder and Dynamic DNS (DDNS) service via kodi.tv subdomain?
  • Pause, Save, Load, and Rewind a game even when playing online-multiplayer(?)
  • Text chat (addon ?)
  • Voice chat (addon ?)
  • Video chat (addon ?)
Reply

Logout Mark Read Team Forum Stats Members Help
Multiplayer0