Multiplayer and Game Preservation

Airships: Conquer the Skies
2017-04-05 15:09

Airships now includes instructions on how to set up your own multiplayer server. Here's why this matters:

To be clear, you can always do multiplayer by choosing "LAN" and directly connecting to the IP address of the hosting machine. As long as that address is visible to you - so in the same LAN, not behind NAT, or using an IPv6 address.

But if you don't want the hassle of typing out IP addresses, or want a multiplayer lobby, you can now set up your own. This should be useful if you want to do a tournament inside a LAN, just want a private place to play the game with others, or if the default multiplayer server is down.

The latter has happened a number of times recently, for which I apologise. The servers are getting an upgrade in the next few days which should fix or at least reduce this problem.

But the longer-term reason is making sure that the game can still be played in the future. I believe games are an important part of our culture, and we should make sure that they aren't lost over time. This is made difficult by legal and technical obstacles.

On the legal side, the advent of de facto perpetual copyright means that games will keep on being owned by someone, probably, eventually, a large corporation. And this large corporation has no real incentive to make an old game available. There's no profit to be made from it, but setting it free would look bad on the balance sheet.

On the technical side, modern games tend to be interwoven with some kind of online component. So even if you have an archive of the game somewhere, it will not work without its server, and the server code never made it past the gates of the game's creator. Old games we can emulate, but a server shutdown can mean the permanent destruction of a game, because once again, there is no incentive to preserve the server code of an unprofitable game.

So what does this mean for Airships?

The first step was already taken: the game has never had any DRM. I believe DRM is evil, code hostile to the user running on their machine. I also believe it's useless, as it inconveniences customers but never poses a real challenge to the motivated cracker.

The second step is making is possible for you to run all aspects of the game independent of me. With the MP server instructions, we're most of the way there, though I still have to do something about the registry of coats of arms.

I am figuring out how to do yet further steps. To be clear, yes, I am selling the game for money so I can purchase food and shelter - and in fact, there's a price increase coming soon - but that does not have to conflict with making sure the game can last.

The instructions:

RUNNING YOUR OWN AIRSHIPS MULTIPLAYER SERVER

Last edited: Mar 26, 2017

If the Airships multiplayer server is unavailable, you can also set up and run your own. Note that you can always create multiplayer matches by using the "LAN" option and connecting directly to another player's IP. But if that is not possible due to NAT, or if you'd like the lobby system that the multiplayer server provides, here is how to set it up:

  • You will need Java installed on your machine for this.
  • Find the game's JAR file. On Windows and Linux, this is in the install directory as game.jar. On Mac OS X, you have to inspect the contents of the application package and find Airships.jar.
  • From the command line, invoke the following command: java -Xmx64m -cp Airships.jar com.zarkonnen.airships.Server

This will start up an Airships server. You then need to tell any copies of Airships that should connect to that server where to find it. To do that, edit launch_settings.json and set customMultiplayerServerAddress to the IP address (IPv4 or IPv6) of the server.