OpenArena over IPv6


OpenArena is a free and open source first-person shooter (FPS) computer game.

OpenArena's game play attempts to emulate Quake III Arena: score frags to win the game using a balanced set of weapons each designed for different situations. Guns include a chaingun, rocket launcher, shotgun, and railgun. The Quake III style of play is very fast and requires skill to be played successfully online.

OpenArena is available from the default repositories of a number of Linux distributions, including Debian, Fedora, Gentoo, Mandriva, and Ubuntu. It is also in development for the Maemo mobile operating system.

OpenArena 0.8.8 and IPv6

OpenArena version 0.8.8-20 significantly worsened its behaviour with regard to IPv6.
Until this is fixed, it seems to be no longer possible to have a seamless IPv4+IPv6 experience!

I recommend staying on version 0.8.5, or using version 18 of the 0.8.8 engine.

IPv6 Master Server

The public IPv6 master server service has been discontinued for the time being, due to lack of interest (aka no actual servers registering on it).


IPv6 Patches to dpmaster

This (dirty hack) is required only if you intend to run your own IPv6-capable OpenArena Master Server.

diff -ru dpmaster-2.2/src//games.c dpmaster-2.2-rm2/src//games.c
--- dpmaster-2.2/src//games.c	2011-07-23 12:29:48.000000000 +0600
+++ dpmaster-2.2-rm2/src//games.c	2011-08-11 15:44:14.329620304 +0600
@@ -544,7 +544,7 @@
-				"protocols=66,67,68",
+				"protocols=66,67,68,71",
diff -ru dpmaster-2.2/src/messages.c dpmaster-2.2-rm3/src/messages.c
--- dpmaster-2.2/src/messages.c	2011-07-23 12:29:48.000000000 +0600
+++ dpmaster-2.2-rm3/src/messages.c	2012-03-03 04:19:07.414389824 +0600
@@ -41,6 +41,7 @@
 // Maximum size of a reponse packet
 #define MAX_PACKET_SIZE_OUT 1400
+#define GAMENAME_Q3A "Quake3Arena"
 // Types of messages (with samples):
@@ -377,7 +378,8 @@
 		if (space)
 			*space = '\0';
 		msg_ptr = msg_ptr + strlen (gamename);
+    if (strcmp (gamename, "openarena") == 0) strncpy (gamename, GAMENAME_Q3A, sizeof (GAMENAME_Q3A));
+    if (strcmp (gamename, "QuakeArena-1") == 0) strncpy (gamename, GAMENAME_Q3A, sizeof (GAMENAME_Q3A));
 		game_options = Game_GetOptions (gamename);
 		// Read the protocol number


en/oa.txt · Last modified: 2022-09-10 16:24 UTC by rm
Personal Tools