NOSTALRIUS BEGINS PROJECT - POST-MORTEM

CLASSIFICATION - UNRESTRICTED

Page 1

NOSTALRIUS BEGINS PROJECT - POST-MORTEM

Contents

1

Introduction

8

2

Executive summary

10

3

Context

12

3.1

Nostalrius . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

3.1.1

Private servers

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

3.1.2

Nostalrius Begins and previous Vanilla private servers . . . . . . .

12

3.2

Market analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

3.3

How Nostalrius differs from the original legacy experience . . . . . . . . .

15

3.4

Working in a virtual team . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

4

Project analysis

18

4.1

Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

4.1.1

Organization breakdown structure - OBS . . . . . . . . . . . . . .

18

4.1.1.1

Core team . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

4.1.1.2

Communication team . . . . . . . . . . . . . . . . . . . . .

20

4.1.1.3

Development team . . . . . . . . . . . . . . . . . . . . . .

20

4.1.1.4

Customer service (Game master) team . . . . . . . . . . . .

20

4.1.1.5

Independent Software Verification and Validation - IsVV team 20

4.1.1.6

Transverse management support . . . . . . . . . . . . . . .

20

4.1.1.7

Contribution of the community . . . . . . . . . . . . . . . .

21

4.1.2

Work breakdown structure (WBS) . . . . . . . . . . . . . . . . . .

22

4.1.3

Human resources management . . . . . . . . . . . . . . . . . . . .

23

4.1.3.1

Staff members background . . . . . . . . . . . . . . . . . .

23

4.1.3.2

Trusting unknown staff members . . . . . . . . . . . . . . .

25

4.1.3.3

GM specific training . . . . . . . . . . . . . . . . . . . . .

25

4.1.3.4

IsVV specific training

. . . . . . . . . . . . . . . . . . . .

25

4.1.3.5

Promoting internal mobility . . . . . . . . . . . . . . . . .

26

4.2

Project communication and community management . . . . . . . . . . . .

26

4.2.1

Pre-launch communication . . . . . . . . . . . . . . . . . . . . . .

27

4.2.1.1

Creation of a newsletter registration page and a basic website. 27

4.2.1.2

Communication through our Facebook page and release of

feature and content videos. . . . . . . . . . . .

27

4.2.1.3

Release of the forums . . . . . . . . . . . . . . . . . . . . .

27

4.2.1.4

Several specific testing sessions had been conducted . . . .

28

4.2.1.5

Server trailer and release . . . . . . . . . . . . . . . . . . .

28

4.2.2

Communication scheduling and characteristic times . . . . . . . . .

29

4.2.3

News publication workflow

. . . . . . . . . . . . . . . . . . . . .

31

4.2.4

Schedule Analysis . . . . . . . . . . . . . . . . . . . . . . . . . .

31

5

Quality analysis

34

5.1

Development team

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

34

5.1.1

Automated Tests . . . . . . . . . . . . . . . . . . . . . . . . . . .

34

5.1.2

Peer reviews

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

35

5.2

Customer service statistics . . . . . . . . . . . . . . . . . . . . . . . . . .

35

5.3

Efficiency strategy

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

37

CLASSIFICATION - UNRESTRICTED

Page 2

NOSTALRIUS BEGINS PROJECT - POST-MORTEM

5.3.1

Define specific policies to reduce GM intervention . . . . . . . . .

38

5.3.2

Forum support . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38

5.3.3

Other . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39

5.4

In-game ticket enhancement . . . . . . . . . . . . . . . . . . . . . . . . .

39

5.5

Mobile player support - MPS . . . . . . . . . . . . . . . . . . . . . . . . .

39

5.6

Public bug tracker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39

5.6.1

State of the art and needs . . . . . . . . . . . . . . . . . . . . . . .

40

5.6.2

Tuleap and PLM . . . . . . . . . . . . . . . . . . . . . . . . . . .

41

6

Product analysis

43

6.1

Emulator presentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43

6.2

Hardware and hosting . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

44

6.3

Produced code statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . .

46

6.4

Configuration management . . . . . . . . . . . . . . . . . . . . . . . . . .

46

7

Conclusion

50

7.1

Development strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . .

50

7.2

Others projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

51

8

APPENDIX

53

8.1

Costs analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

53

8.1.1

Initial expenses . . . . . . . . . . . . . . . . . . . . . . . . . . . .

53

8.1.2

Hardware upgrade and PvE realm . . . . . . . . . . . . . . . . . .

53

8.1.3

Planned hardware upgrade . . . . . . . . . . . . . . . . . . . . . .

55

8.1.4

Transparency: community based server funding . . . . . . . . . . .

55

8.2

Performance improvements . . . . . . . . . . . . . . . . . . . . . . . . . .

57

8.2.1

Threading architecture . . . . . . . . . . . . . . . . . . . . . . . .

57

8.2.1.1

Parallelized maps . . . . . . . . . . . . . . . . . . . . . . .

57

8.2.1.2

Inside a map: instantiated continents . . . . . . . . . . . . .

58

8.2.2

Acceptable trade-offs . . . . . . . . . . . . . . . . . . . . . . . . .

60

8.2.2.1

Priority between players . . . . . . . . . . . . . . . . . . .

60

8.2.2.2

Priority between actions . . . . . . . . . . . . . . . . . . .

60

8.2.2.3

Visibility distance reduction . . . . . . . . . . . . . . . . .

61

8.2.3

Players in the same area . . . . . . . . . . . . . . . . . . . . . . .

62

8.3

Data recovery: the example of the items progression . . . . . . . . . . . . .

67

8.3.1

Analysis and general method . . . . . . . . . . . . . . . . . . . . .

67

8.3.2

Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

67

8.3.3

Data extraction . . . . . . . . . . . . . . . . . . . . . . . . . . . .

67

8.4

Community analysis

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

69

8.4.1

A note on the survey data processing . . . . . . . . . . . . . . . . .

69

8.4.2

Nostalrius: a worldwide community . . . . . . . . . . . . . . . . .

70

8.4.3

Survey general demographic analysis . . . . . . . . . . . . . . . .

71

8.4.4

No longer official WoW subscribers . . . . . . . . . . . . . . . . .

72

8.4.5

What is a legacy realm?

. . . . . . . . . . . . . . . . . . . . . . .

73

8.4.6

Legacy realms longevity . . . . . . . . . . . . . . . . . . . . . . .

75

8.5

Nostalrius video making . . . . . . . . . . . . . . . . . . . . . . . . . . .

77

8.5.1

The replay functionality . . . . . . . . . . . . . . . . . . . . . . .

77

CLASSIFICATION - UNRESTRICTED

Page 3

NOSTALRIUS BEGINS PROJECT - POST-MORTEM

8.5.2

Using the client as a 3D rendering program . . . . . . . . . . . . .

77

8.6

SWOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

79

CLASSIFICATION - UNRESTRICTED

Page 4

NOSTALRIUS BEGINS PROJECT - POST-MORTEM

List of Figures

1

Google trends of "Wow private server" and Nostalrius.

. . . . . . . . . . . . . .

13

2

Geolocation of the GM team members all over the world. . . . . . . . . . . . . .

14

3

Geolocation of the GM team members in Europe. . . . . . . . . . . . . . . . . .

14

4

Working in a virtual team.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

5

Two layer organization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

6

Three layers organization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

7

Three layers organization with transverse assistant. . . . . . . . . . . . . . . . .

19

8

Work breakdown structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22

9

Human resources evolution during the project. . . . . . . . . . . . . . . . . . . .

24

10

Promoting internal mobility.

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

11

Nostalrius PVP server population over time. . . . . . . . . . . . . . . . . . . . .

29

12

Nostalrius PVE server population over time. . . . . . . . . . . . . . . . . . . . .

29

13

Automated tests being run on Nostalrius. . . . . . . . . . . . . . . . . . . . . . .

34

14

For how long would you play on Blizzard legacy realms ? . . . . . . . . . . . . .

36

15

Tickets activities on PvP realm starting 2016. . . . . . . . . . . . . . . . . . . .

36

16

GMs activities first month after official international launch.

. . . . . . . . . . .

37

17

GMs activities last month prior to project shutdown. . . . . . . . . . . . . . . . .

37

18

Strict rules on the restoration of items. . . . . . . . . . . . . . . . . . . . . . . .

38

19

Application lifecycle management. . . . . . . . . . . . . . . . . . . . . . . . . .

41

20

Game server architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

44

21

Hardware and service distribution. . . . . . . . . . . . . . . . . . . . . . . . . .

45

22

Source code statistics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

46

23

Configuration management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

47

24

Overall upkeep cost of Nostalrius hardware infrastructure.

. . . . . . . . . . . .

53

25

Population of the PVE server since launch . . . . . . . . . . . . . . . . . . . . .

54

26

PVP server reaching more than 12K players everyday starting 2016. . . . . . . .

55

27

Parallelizing map processing. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

57

28

First improvement form map processing. . . . . . . . . . . . . . . . . . . . . . .

58

29

Instantiated map. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

59

30

Original map update system. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

59

31

Nostalrius map update system. . . . . . . . . . . . . . . . . . . . . . . . . . . .

60

32

Priority between actions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

61

33

Ahn’Qiraj gates opening event. . . . . . . . . . . . . . . . . . . . . . . . . . . .

62

34

Bot-simulated gnome invasion on Orgrimmar. Benchmark for server performance. 63

35

Map-Reduce paradigm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

64

36

Orgrimmar during the server shutdown.

. . . . . . . . . . . . . . . . . . . . . .

64

37

Ironforge during server shutdown. . . . . . . . . . . . . . . . . . . . . . . . . .

65

38

Workload during server shutdown. . . . . . . . . . . . . . . . . . . . . . . . . .

66

39

Which WoW expansion did you play on official Blizzard servers. . . . . . . . . .

70

40

Players geolocalization per countries. . . . . . . . . . . . . . . . . . . . . . . . .

70

41

Daily population on Nostalrius. . . . . . . . . . . . . . . . . . . . . . . . . . . .

71

42

Ages distribution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

71

43

For how long did you play on retail. . . . . . . . . . . . . . . . . . . . . . . . .

72

CLASSIFICATION - UNRESTRICTED

Page 5

NOSTALRIUS BEGINS PROJECT - POST-MORTEM

44

Players per expansion played on retail (%). . . . . . . . . . . . . . . . . . . . . .

72

45

Currently playing on retail. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

73

46

Left retail because. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

73

47

Rate WoW expansion (1/2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

74

48

Rate WoW expansion (2/2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

74

49

Played on private server.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

75

50

For how long would you play on Blizzard legacy realms ? . . . . . . . . . . . . .

76

51

Account created in March-April 2015. . . . . . . . . . . . . . . . . . . . . . . .

76

52

SWOT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

79

CLASSIFICATION - UNRESTRICTED

Page 6

NOSTALRIUS BEGINS PROJECT - POST-MORTEM

List of Tables

1

Media statistics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

30

2

News publication workflow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

3

Schedule analysis delay after 1 year. . . . . . . . . . . . . . . . . . . . . . . . .

32

4

Hardware details. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

44

CLASSIFICATION - UNRESTRICTED

Page 7

NOSTALRIUS BEGINS PROJECT - POST-MORTEM

1

Introduction

12 years ago, the biggest MMORPG in the history of gaming was released. No one,

not even Blizzard could have expected this astonishing success. Today, previous expansions

of the game are no longer available, orphaning hundreds of thousands of players.

While some other MMORPGs chose to provide their community with previously avail-

able content, this is not the case for World of Warcraft, even if it is asked by hundreds of

thousands of players from around the world.

We - the Nostalrius team - committed ourselves to recreate the Vanilla experience by setting

up and handling the largest unofficial server of its kind. After several years, we are more

than ever convinced of the importance of this game, and are thus willing to share all of our

experience and data in the hope that it may help Blizzard Entertainment in making the best

decision for everyone involved.

The goal of this document is to describe how the Nostalrius project was managed, pro-

viding multiple kinds of analysis such as quality, cost, schedule, process, customer and

product. All aspects of Nostalrius were analyzed, including the key points to our success

and failures.

A secondary goal of this document is to propose, as an example, a successful organiza-

tion for large volunteer projects along with a complete analysis of the challenges we faced.

All of these lessons learned are the result of more than 5 years of experience managing

a volunteer WoW private server team. This document is published in the hope that it can be

useful for anyone willing to start a similar project. Some technical and specific parts will

however remain restricted, such as the anticheat techniques; as we believe that the whole

WoW community could suffer from this information being publicised.

This document is dedicated to all of the people who helped us to do what we achieved. For-

mer or current volunteer staff members, players, guilds, gaming figures and legacy server

supporters: without a strong team, and without supporters, this movement would not have

gone so far.

Kind regards,

Nostalrius Team.

Some people dream of success while others wake up and work hard at it.

Napoleon Hill.

CLASSIFICATION - UNRESTRICTED

Page 8

NOSTALRIUS BEGINS PROJECT - POST-MORTEM

List of volunteers since the opening of this international project in 2015:

Daemon, Viper, Déus, Clank, Poluxgama, Hoover, Joan, Chakor, Geist, Raazi, Sredna,

Hammer, Helios, Mute, Igen, Witcher, Dreadzi, Krusher, Lecat, Digitalz, Launcher, Elessar,

Life, Cantrip, Kraos, Wyzel, Morran, String, Makumba, Fenrir, Cthulhu, Paraskoi, Cursive,

Korval, Aerbax, Metzu, Theldras, Etiakor, Pottu, Tyrael, Same, Testy, Velsdra, Eurie, Faith,

Neo, Rizah, Shatterbird, Nano, Leamas, Voltog, Eragon, Radius, Tigru, Ithlien, Syrah,

Seshinryu, Abathur, Xendly, SanAntonio, Ninniel, Nathrizyr, Benevael, Eldoth, Arthad,

Naealath, Leythia, Shahkar, Adarlas, Coff, Nalorius, Fafner, Stryg, Theloras, Hawk, Rof-

feal, Akasso, Quietist, Cabotage, Eragon, Carbuncle, Schluepper, Vaelanor, Bulmonk, Cy-
gore.

CLASSIFICATION - UNRESTRICTED

Page 9