bnetd
Original author(s) | Mark Baysinger |
---|---|
Development status | Abandoned |
Written in | C |
Operating system | Linux, Windows |
Available in | English |
Type | Server |
License | GNU General Public License |
Website | {{ |
bnetd is a software package that was reverse engineered from Blizzard Entertainment's Battle.net online multiplayer gaming service, providing near-complete emulation. The first version was released on April 28, 1998 by Mark Baysinger, who at the time was a student at UC San Diego, under the name StarHack because it was originally meant for StarCraft to connect and chat together.[1] On April 29, 1998, Baysinger received a cease-and-desist letter from the Software Publishers Association[2] who threatened to file a lawsuit unless three demands were met within three days. In response to the email, Baysinger requested for the SPA to wait until May 7, 1998 to allow Baysinger time for legal advice[3] which was granted.[4] On May 7, 1998, Baysinger directly addressed to the three demands[5] but received no further communication from the SPA.[6] Due to time limitations, Baysinger abandoned the project in December 1998.[7] However because the project was open sourced under the GNU General Public License, the project was continued by a group of volunteers and as Blizzard released more games, the project was renamed to bnetd.[8]
Due to a United States lawsuit won by Blizzard against bnetd's original developers, they no longer maintain or host bnetd.
Contents
CD key non-interoperability
Blizzard games are packaged with unique codes. CD keys are entered, but not verified, during the installation process. Connection to battle.net is permitted only with a valid and unique key. Individual keys are regularly disabled by battle.net administrators to block suspected cheaters from battle.net. Players with invalid or disabled keys remain able to play independently of battle.net, such as in single-player mode, or through a direct connection to another player.
Blizzard, citing security and piracy concerns on their webpage about emulation, does not allow battle.net to interoperate with bnetd servers to verify CD keys. Because of this, bnetd servers do not implement battle.net's validation. This allows players to access full multiplayer functionality of Battle.net capable games without a valid CD key, by connecting to a bnetd server.
Blizzard takedown demand and lawsuit
In February 2002, Blizzard filed a DMCA safe harbor takedown demand against bnetd with their Internet service provider (ISP). Blizzard subsequently filed suit against the developers of bnetd and their ISP, Internet Gateway, in the United States District Court for the Eastern District of Missouri. The lawsuit alleged copyright infringement, trademark infringement, and violations of their games' End User License Agreement (sometimes referred to as a clickwrap license) and DMCA anti-circumvention prohibitions, in what would become an important test case for portions of that law. The Electronic Frontier Foundation mounted a defense, in which defendants denied copying any portion of battle.net or Blizzard games, denied the validity of the battle.net trademark, denied that CD keys are an anti-piracy measure, and denied that bnetd is a circumvention tool.
In September 2004, the court disagreed and granted summary judgement to Blizzard. On appeal, defendants argued that federal copyright law, which permits reverse engineering, preempts California state contract law, upon which the EULA's prohibition on reverse engineering is grounded.
In September 2005, the Eighth Circuit Court of Appeals rejected the defendants' argument and affirmed the lower court's decision. "Appellants failed to establish a genuine issue of material fact as to the applicability of the interoperability exception [of the DMCA]. The district court properly granted summary judgement in favor of Blizzard and Vivendi on the operability exception." The appeals court further ruled that bnetd circumvents copy protection in violation of the DMCA.[9]
bnetd developer Ross Combs and EFF staff attorney Jason Schultz criticized the appeals court ruling, claiming the ruling means software and hardware vendors can use a DMCA-EULA combination to prevent otherwise lawful reverse engineering and chill the development of interoperable systems. Blizzard co-founder Mike Morhaime called the ruling "a major victory against software piracy." An Entertainment Software Association representative also supported the ruling, claiming it reinforces the DMCA's ability to prevent "IP abuse and theft."[10]
As a result of the litigation, the bnetd.org domain was transferred to Blizzard's control pursuant to the consent decree entered during the trial. The domain is now offline but still registered by Blizzard.[11] Although Blizzard won the case, the lawsuit did not stop the continued distribution of bnetd's open source code, nor of derivative projects such as PvPGN. Other hosts were quickly set up by third parties in countries where no anti-circumvention legislation equivalent to the DMCA exists.
See also
- PvPGN (Player vs Player Gaming Network) is a free and open source software project offering emulation of various gaming network servers and is being maintained by a non-profit organization.
- Stratagus is a free software real time strategy engine which began as a similar project of reverse engineering Warcraft II under the name FreeCraft. Blizzard threatened legal action, and the project was halted and then restarted under a different name as a general engine project, though Warcraft II support is added through Wargus.
- Bowers v. Baystate Technologies older case law on reverse engineering in the US which decided that shrink-wrap licenses may prohibit reverse engineering otherwise allowed by the Copyright Act
References
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.