Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
DirectPlay
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Microsoft DirectX API component}} {{Primary sources|date=April 2009}} {{Update|date=October 2021}} '''DirectPlay''' is part of [[Microsoft]]'s [[DirectX]] [[API]]. It is a network communication library intended for [[computer game]] development, although it can be used for other purposes. DirectPlay is a high-level software interface between applications and communication services that allows games to be connected over the [[Internet]], a [[modem]] link, or a [[computer network|network]]. It features a set of tools that allow players to find game sessions and sites to manage the flow of information between hosts and players. It provides a way for applications to communicate with each other, regardless of the underlying online service or protocol. It also resolves many connectivity issues, such as [[Network Address Translation]] (NAT). Like the rest of DirectX, DirectPlay runs in COM and is accessed through [[component object model]] (COM) [[interface (computer science)|interfaces]]. By default, DirectPlay uses [[multi-threaded]] programming techniques and requires careful thought to avoid the usual threading issues. Since DirectX version 9, this issue can be alleviated at the expense of efficiency. ==Networking== DirectPlay is built on the [[User Datagram Protocol]] (UDP) to allow it speedy communication with other DirectPlay applications. It uses TCP and UDP ports 2300 to 2400 and 47624.<ref>{{Cite web|url=https://docs.microsoft.com/en-us/openspecs/windows_protocols/mc-dpl4cs|title = [MC-DPL4CS]: DirectPlay 4 Protocol: Core and Service Providers| date=23 April 2024 }}</ref> ==Interfaces== *The primary interfaces (methods of access) for DirectPlay are: **IDirectPlay8Server, which allows access to [[Server (computing)|server]] functionality **IDirectPlay8Client, which allows access to [[client (computing)|client]] functionality **IDirectPlay8Peer, which allows access to [[peer-to-peer]] functionality *Secondary interfaces are: ** Various lobby interfaces that allows players to find and prepare a game before it actually commences. ** Thread management interfaces that allows the programmer to fine-tune resource usage. This also allows for a general disabling of worker [[Thread (computer programming)|thread]]s so that tricky [[multithreading (software)|multi-threaded]] issues are avoided at the cost of decreased responsiveness. ** Various [[network address translation]] (NAT) interfaces that make it easier for players behind [[Router (computing)|router]]s to host games. Most players on [[broadband]] internet connections face this problem. ** Various voice communication interfaces known as ''DirectPlay Voice'' that make it easier to support audio communication and voice input in games. ** Various queue monitoring interfaces that allow the application to get feedback on how much data has been sent and received as requested. This allows an application to decrease/increase the amount of data sent in accordance with the capabilities of the receiver. ==DirectPlay Voice== DirectPlay Voice was introduced in [[Windows Me]] as part of DirectX 7.1 for multiplayer games.<ref>{{Cite web |url=http://www.microsoft.com/en-us/news/press/2000/feb00/directvoicepr.aspx |title=Microsoft DirectX to Feature Real-Time Voice Technology |date=2012-10-23 |website=Microsoft News Center |url-status=dead |archive-url=https://web.archive.org/web/20121023203854/http://www.microsoft.com/en-us/news/press/2000/feb00/directvoicepr.aspx |archive-date=2012-10-23 |access-date=2020-01-25}}</ref> It is a voice communications, recording and playback API that allows gamers to use [[voice chat]] in games written to take advantage of the API, through a DirectPlay network transport session itself. ==Current status== DirectPlay was traditionally one of the components of DirectX that received less attention, but for DirectX version 8 it received a major overhaul and became a relatively lightweight networking library. However, as part of Microsoft's unveiling of [[XNA (Microsoft)|XNA]] in 2004, Microsoft announced that DirectPlay would be [[deprecated]] in favor of [[Games for Windows - Live]] technology already available on [[Xbox]] and being ported for use on [[Microsoft Windows|Windows]] [[personal computer|PCs]]. DirectPlay was supported in DirectX DLLs for the lifetime of Microsoft Windows XP. However, starting from the autumn of 2007, the headers and libraries β vital components if developers wanted to develop new programs utilizing the technology β were removed from the DirectX SDK.{{citation needed|date=August 2024}} In [[Windows Vista]], DirectPlay has been deprecated and DirectPlay Voice and DirectPlay's [[Network Address Translation|NAT]] Helper have been removed.<ref>{{Cite web |url=https://docs.microsoft.com/en-us/windows/win32/dxtecharts/directx-9-frequently-asked-questions#What_changes_were_made_to_the_DirectX_runtime_for_Windows_Vista__ |title=DirectX Frequently Asked Questions - Win32 apps |last=White |first=Steven |website=Windows Dev Center |language=en-us |url-status=live |archive-url=https://web.archive.org/web/20200125065952/https://docs.microsoft.com/en-us/windows/win32/dxtecharts/directx-9-frequently-asked-questions#What_changes_were_made_to_the_DirectX_runtime_for_Windows_Vista__ |archive-date=2020-01-25 |access-date=2020-01-25}}</ref> In [[Windows 10]], DirectPlay is fully deprecated, and modern game development has transitioned to more current technologies like Xbox Live and other networking APIs.{{citation needed|date=August 2024}} ==See also== *[[DirectX]] ==References== {{reflist}} ==External links== * [https://docs.microsoft.com/en-us/previous-versions/ms805688(v=msdn.10) Microsoft's DirectPlay documentation] * [http://www.microsoft.com/downloads/details.aspx?FamilyID=529f03be-1339-48c4-bd5a-8506e5acf571&DisplayLang=en Microsoft DirectX 9] The last SDK to ship with DirectPlay headers and libraries. Some alternative libraries which serve the same purpose as DirectPlay * {{webarchive|url=https://web.archive.org/web/20140708005356/http://hawksoft.com/hawknl/|title=HawkNL}} * {{webarchive|url=https://web.archive.org/web/20160423122441/http://www.opentnl.org/|title=OpenTNL}} * [http://www.jenkinssoftware.com/ Raknet] [[Category:DirectX]] [[Category:Computer networking]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Citation needed
(
edit
)
Template:Cite web
(
edit
)
Template:Primary sources
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Update
(
edit
)
Template:Webarchive
(
edit
)