Difference between revisions of "Network"

From xboxdevwiki
Jump to: navigation, search
(Xbox Live)
m (.com, not .de)
Line 170: Line 170:
 
* [https://github.com/grayj/Jedi-Academy/blob/master/codemp/xbox/XBLive.cpp https://github.com/grayj/Jedi-Academy/blob/master/codemp/xbox/XBLive.cpp]
 
* [https://github.com/grayj/Jedi-Academy/blob/master/codemp/xbox/XBLive.cpp https://github.com/grayj/Jedi-Academy/blob/master/codemp/xbox/XBLive.cpp]
 
* [http://discerning.com/pdfbox/test/input/authentication.pdf http://discerning.com/pdfbox/test/input/authentication.pdf]
 
* [http://discerning.com/pdfbox/test/input/authentication.pdf http://discerning.com/pdfbox/test/input/authentication.pdf]
* [https://www.google.de/patents/US20040009815 Patent: Managing access to content]
+
* [https://www.google.com/patents/US20040009815 Patent: Managing access to content]
* [https://www.google.de/patents/US20030093669 Patent: Network architecture for secure communications between two console-based gaming systems]
+
* [https://www.google.com/patents/US20030093669 Patent: Network architecture for secure communications between two console-based gaming systems]
* [https://www.google.de/patents/US20030093668 Patent: Architecture for manufacturing authenticatable gaming systems ]
+
* [https://www.google.com/patents/US20030093668 Patent: Architecture for manufacturing authenticatable gaming systems ]
* [https://www.google.de/patents/US7803052 Patent: Discovery and distribution of game session information ]
+
* [https://www.google.com/patents/US7803052 Patent: Discovery and distribution of game session information ]
* [https://www.google.de/patents/US20030229779 Patent: Security gateway for online console-based gaming ]
+
* [https://www.google.com/patents/US20030229779 Patent: Security gateway for online console-based gaming ]
* [https://www.google.de/patents/US20030233537 Patent: Presence and notification system for maintaining and communicating information ]
+
* [https://www.google.com/patents/US20030233537 Patent: Presence and notification system for maintaining and communicating information ]
* [https://www.google.de/patents/US7218739 Patent: Multiple user authentication for online console-based gaming ]
+
* [https://www.google.com/patents/US7218739 Patent: Multiple user authentication for online console-based gaming ]

Revision as of 21:41, 16 July 2017

The Xbox contains an Ethernet module and one RJ45 connector. Additionally, separate modem and wireless accessories were considered when developing the console.

The Xbox has a TCP/IP protocol stack complete with a DNS PPTP, DHCP clients.

Port 3074 UDP/TCP is reserved for Xbox communications.

Hardware

Integrated in the Nvidia Southbridge MCPX chip which is similar to the nForce chips. The Xbox Linux team used the binary drivers from Nvidia.

System Link

XNet* Functions
function description
XNetCreateKey(&xnkid, &xnkey)
XNetRegisterKey(&xnkid, &xnkey) Register the session key
XNetXnAddrToInAddr( pxnaddr, pxnkid, &pseudoIP ) Convert the address to a winsock usable format
XNetUnregisterKey( &xbc.SessionID )
XNetGetTitleXnAddr( &hostAddr ) Gets your XNADDR. Used by syslink, and lots of other people.
XNetGetEthernetLinkStatus()


Xbox Live

Xbox Live is an online multiplayer gaming and digital media delivery service created and operated by Microsoft. It was first made available to the Xbox system in November 2002. (Wikipedia) Xbox Live support for the original Xbox ended in April 15, 2010.

The Xbox Live architecture consists of authentication servers, matchmaking servers, and game servers.

Matchmaking servers

Game servers

Authentication servers

Authentication and access to Xbox Live services is controlled using the Kerberos protocol with a few proprietary customizations for the Xbox.

Kerberos Authentication Server: macs.xboxlive.com


Xbox PA-DATA
padata-type description
131  ?
204  ?
206 Information about Xbox Version, Title, and Title version

Xbox Live Functions

XOnline* Functions
function description
XOnlineGetUsers(XONLINE_USER* XBLAccountusers, DWORD* numOfXBLiveAccounts) The XOnlineGetUsers function will enumerate both the hard disk and any attached memory units looking for user accounts
XOnlineTaskClose(XONLINETASK_HANDLE logonHandle) Called to abort the authentication process.
XOnlineStartup( XONLINE_STARTUP_PARAMS* )
XOnlineLogon(XONLINE_USER* XBLLoggedOnUsers, DWORD* XBLservices, DWORD SERVICE_COUNT, NULL, XONLINETASK_HANDLE &logonHandle) When a title calls XOnlineLogon to sign in, instead of blocking until the authentication completes, an asynchronous task handle is returned. As part of the authentication process a title must specify which services it will be using (XBLservices, SERVICE_COUNT).
XOnlineTaskContinue(XONLINETASK_HANDLE logonHandle) Called to check the status of XOnlineLogon.
XOnlineLogonTaskGetResults(XONLINETASK_HANDLE logonHandle)
XOnlineGetLogonUsers() This returns a pointer to an array of XONLINE USER structures. This array is similar the XONLINE USER array we populated and passed into XOnlineLogon, but is updated with error status and permission flags for each user.
XOnlineSetUserGuestNumber(dwUserFlags , 1)
XOnlineTitleUpdate(DWORD) The XOnlineTitleUpdate function will boot into an updater application, which performs the actual update
XOnlineGetServiceInfo(Service, ?) XOnlineGetServiceInfo returns the connection status for a service
XOnlineNotificationSetState

Heartbeat

   Ethernet II, Src: Microsof_f2:00:00 (00:50:f2:f2:00:00), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
   MS Network Load Balancing
       Signature: Unknown (0x584f4258)
       Version: 1.1
       Unique Host ID: 3118682055
       Cluster IP: 167.102.81.132 (167.102.81.132)
       Host IP: 4.89.169.109 (4.89.169.109)
       Signature Data - Unknown (1481589336)


References and links