--- /usr/ports/Mk/bsd.sites.mk_orig	Thu Feb  2 06:33:21 2006
+++ bsd.sites.mk	Sat Feb 18 13:17:41 2006
@@ -458,6 +458,21 @@
 	http://public.planetmirror.com/pub/gnu-alpha/%SUBDIR%/
 .endif
 
+.if !defined(IGNORE_MASTER_SITE_IDSOFTWARE)
+MASTER_SITE_IDSOFTWARE+=	\
+	ftp://ftp.chg.ru/.3/games/idgames/idstuff/%SUBDIR%/ \
+	ftp://ftp.fasta.fh-dortmund.de/mirror/idstuff/%SUBDIR%/ \
+	ftp://ftp.fu-berlin.de/pc/games/idgames/idstuff/%SUBDIR%/ \
+	http://www.gamers.org/pub/idgames/idstuff/%%SUBDIR%%/ \
+	ftp://ftp.games.skynet.be/spool1/games/ftp.idsoftware.com/%SUBDIR%/ \
+	ftp://ftp.mirror.nl/disk2/idsoftware/idstuff/%SUBDIR%/ \
+	ftp://ftp.nsu.ru/mirrors/ftp.idsoftware.com/idstuff/%SUBDIR%/ \
+	ftp://ftp.ntua.gr/pub/vendors/idgames/idstuff/%SUBDIR%/ \
+	ftp://ftp.omen.net.au/games/idstuff/%SUBDIR%/ \
+	ftp://ftp.sunsite.org.uk/sites/ftp.idsoftware.com/idstuff/%SUBDIR%/ \
+	ftp://ftp.idsoftware.com/idstuff/%SUBDIR%/
+.endif
+
 .if !defined(IGNORE_MASTER_SITE_ISC)
 MASTER_SITE_ISC+=	\
 	ftp://ftp.isc.org/isc/%SUBDIR%/ \
diff -urN games/doom/Makefile games/doom/Makefile
--- games/doom/Makefile	Thu Nov 17 09:04:35 2005
+++ games/doom/Makefile	Sat Feb 18 13:09:45 2006
@@ -8,11 +8,8 @@
 PORTNAME=	doom
 PORTVERSION=	1.10
 CATEGORIES=	games
-MASTER_SITES=	ftp://ftp.idsoftware.com/idstuff/source/ \
-		http://ftp.sunet.se/pub/pc/games/idgames/idstuff/source/ \
-		http://www.gamers.org/pub/idgames/idstuff/source/ \
-		ftp://ftp.ntua.gr/pub/vendors/idgames/idstuff/source/
-		
+MASTER_SITES=	${MASTER_SITE_IDSOFTWARE}
+MASTER_SITE_SUBDIR=	source
 DISTNAME=	doomsrc
 
 MAINTAINER=	jmz@FreeBSD.org
diff -urN games/linux-quake3/Makefile games/linux-quake3/Makefile
--- games/linux-quake3/Makefile	Tue Dec 20 01:47:08 2005
+++ games/linux-quake3/Makefile	Sat Feb 18 13:26:13 2006
@@ -8,8 +8,8 @@
 PORTNAME=	quake3
 DISTVERSION=	1.32b-3
 CATEGORIES=	games linux
-MASTER_SITES=	ftp://ftp.idsoftware.com/idstuff/quake3/linux/ \
-		http://3dgamers.iinet.net.au/pub/3dgamers/games/quake3arena/
+MASTER_SITES=	${MASTER_SITE_IDSOFTWARE}
+MASTER_SITE_SUBDIR=	quake3/linux
 PKGNAMEPREFIX=	linux-
 DISTNAME=	linuxq3apoint-${DISTVERSION}.x86
 EXTRACT_SUFX=	.run
diff -urN games/linux-quake4/Makefile games/linux-quake4/Makefile
--- games/linux-quake4/Makefile	Mon Jan 16 20:11:04 2006
+++ games/linux-quake4/Makefile	Sat Feb 18 13:32:12 2006
@@ -13,7 +13,7 @@
 		http://bsd.gubkin.ru/myports/ \
 		ftp://ftp.dvo.ru/pub/distfiles/ \
 		ftp://ftp.amfodent.ru/pub/FreeBSD/distfiles/ \
-		ftp://ftp.idsoftware.com/idstuff/quake4/linux/
+		${MASTER_SITE_IDSOFTWARE:S|$|quake4/linux/old/|}
 PKGNAMEPREFIX=	linux-
 DISTNAME=	${PORTNAME}-${PKGNAMEPREFIX}${PORTVERSION}.x86
 EXTRACT_SUFX=	.run
diff -urN games/qcc/Makefile games/qcc/Makefile
--- games/qcc/Makefile	Thu Nov 17 09:00:14 2005
+++ games/qcc/Makefile	Sat Feb 18 13:16:31 2006
@@ -8,7 +8,8 @@
 PORTNAME=	qcc
 PORTVERSION=	1.01
 CATEGORIES=	games devel
-MASTER_SITES=	ftp://ftp.idsoftware.com/idstuff/source/
+MASTER_SITES=	${MASTER_SITE_IDSOFTWARE}
+MASTER_SITE_SUBDIR=	source
 DISTNAME=	${PORTNAME}
 
 MAINTAINER=	danfe@FreeBSD.org
diff -urN games/quake-data/Makefile games/quake-data/Makefile
--- games/quake-data/Makefile	Mon Dec 12 06:25:23 2005
+++ games/quake-data/Makefile	Sat Feb 18 13:43:00 2006
@@ -44,15 +44,13 @@
 .endif
 
 .if defined(WITH_QUAKEWORLD)
-MASTER_SITES+=	ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/:qw \
-		ftp://ftp.fasta.fh-dortmund.de/mirror/idstuff/quakeworld/unix/:qw
+MASTER_SITES+=	${MASTER_SITE_IDSOFTWARE:S|$|quakeworld/unix/:qw|}
 DISTFILES+=	${PROGFILE}:qw
 EXTRACT_ONLY+=	${PROGFILE}
 PLIST_SUB+=	QUAKEWORLD=""
 
 .if defined(WITH_QUAKEWORLD_SKINS)
-MASTER_SITES+=	ftp://ftp.idsoftware.com/idstuff/quakeworld/skins/:skins \
-		ftp://ftp.fasta.fh-dortmund.de/mirror/idstuff/quakeworld/skins/:skins
+MASTER_SITES+=	${MASTER_SITE_IDSOFTWARE:S|$|quakeworld/skins/:skins|}
 DISTFILES+=	${SKINFILES:S/$/:skins/}
 EXTRACT_DEPENDS+=	unzip:${PORTSDIR}/archivers/unzip
 PLIST_SUB+=	QUAKEWORLD_SKINS=""
diff -urN games/quake-source/Makefile games/quake-source/Makefile
--- games/quake-source/Makefile	Sat Dec 31 12:45:44 2005
+++ games/quake-source/Makefile	Sat Feb 18 13:45:24 2006
@@ -8,11 +8,11 @@
 PORTNAME=	source
 PORTVERSION=	1.01
 CATEGORIES=	games
-MASTER_SITES=	ftp://ftp.idsoftware.com/idstuff/source/:s \
-		ftp://ftp.fasta.fh-dortmund.de/mirror/idstuff/source/:s
+MASTER_SITES=	${MASTER_SITE_IDSOFTWARE}
+MASTER_SITE_SUBDIR=	source
 PKGNAMEPREFIX=	quake-
 DISTNAME=	qcc
-DISTFILES=	${DISTNAME}${EXTRACT_SUFX}:s
+DISTFILES=	${DISTNAME}${EXTRACT_SUFX}
 
 MAINTAINER=	alejandro@varnet.biz
 COMMENT=	Quake and QuakeWorld source
@@ -29,8 +29,7 @@
 .include <bsd.port.pre.mk>
 
 .if defined(WITH_QUAKEWORLD)
-MASTER_SITES+=	ftp://ftp.idsoftware.com/idstuff/quakeworld/unix/:qw \
-		ftp://ftp.fasta.fh-dortmund.de/mirror/idstuff/quakeworld/unix/:qw
+MASTER_SITES+=	${MASTER_SITE_IDSOFTWARE:S|$|quakeworld/unix/:qw|}
 DISTFILES+=	qwsv-2.30-glibc-i386-unknown-linux2.0${EXTRACT_SUFX}:qw
 USE_REINPLACE=	yes
 PLIST_SUB+=	QUAKEWORLD=""
diff -urN games/quake2-data/Makefile games/quake2-data/Makefile
--- games/quake2-data/Makefile	Wed Dec 28 18:15:32 2005
+++ games/quake2-data/Makefile	Sat Feb 18 13:39:21 2006
@@ -9,8 +9,8 @@
 PORTVERSION=	3.20
 PORTREVISION=	1
 CATEGORIES=	games
-MASTER_SITES=	ftp://ftp.idsoftware.com/idstuff/quake2/ \
-		ftp://ftp.fasta.fh-dortmund.de/mirror/idstuff/quake2/
+MASTER_SITES=	${MASTER_SITE_IDSOFTWARE}
+MASTER_SITE_SUBDIR=	quake2
 PKGNAMEPREFIX=	${Q2PKGNAMEPREFIX}
 DISTFILES=	${Q2FULL}
 DIST_SUBDIR=	${PKGNAMEPREFIX}${PORTNAME}
diff -urN games/quake2-source/Makefile games/quake2-source/Makefile
--- games/quake2-source/Makefile	Mon Nov 14 18:38:12 2005
+++ games/quake2-source/Makefile	Sat Feb 18 13:46:54 2006
@@ -9,8 +9,7 @@
 PORTVERSION=	3.21
 CATEGORIES=	games
 MASTER_SITES=	http://www.icculus.org/quake2/files/:icc \
-		ftp://ftp.idsoftware.com/idstuff/quake2/source/:id \
-		ftp://ftp.fasta.fh-dortmund.de/mirror/idstuff/quake2/source/:id
+		${MASTER_SITE_IDSOFTWARE:S|$|quake2/source/:id|}
 PKGNAMEPREFIX=	quake2-
 DISTNAME=	quake2-r0.16.2
 DISTFILES=	${DISTNAME}${EXTRACT_SUFX}:icc
diff -urN games/quake2forge/Makefile games/quake2forge/Makefile
--- games/quake2forge/Makefile	Thu Dec 22 14:27:08 2005
+++ games/quake2forge/Makefile	Sat Feb 18 13:48:26 2006
@@ -9,8 +9,7 @@
 PORTVERSION=	0.3
 CATEGORIES=	games
 MASTER_SITES=	http://www.galgenberg.net/distfiles/:qf \
-		ftp://ftp.idsoftware.com/idstuff/quake2/source/:id \
-		ftp://ftp.fasta.fh-dortmund.de/mirror/idstuff/quake2/source/:id
+		${MASTER_SITE_IDSOFTWARE:S|$|quake2/source/:id|}
 DISTNAME=	quake2-${PORTVERSION}
 DISTFILES=	${DISTNAME}${EXTRACT_SUFX}:qf
 DIST_SUBDIR=	${PORTNAME}
diff -urN games/quake2lnx/Makefile games/quake2lnx/Makefile
--- games/quake2lnx/Makefile	Wed Dec 28 18:15:32 2005
+++ games/quake2lnx/Makefile	Sat Feb 18 13:49:17 2006
@@ -11,7 +11,7 @@
 CATEGORIES=	games
 MASTER_SITES=	http://offload1.icculus.org/quake2/files/:icc \
 		http://www.icculus.org/quake2/files/:icc \
-		ftp://ftp.idsoftware.com/idstuff/quake2/source/:id
+		${MASTER_SITE_IDSOFTWARE:S|$|quake2/source/:id|}
 DISTNAME=	quake2-r${PORTVERSION}
 DISTFILES=	${DISTNAME}${EXTRACT_SUFX}:icc
 DIST_SUBDIR=	${PORTNAME}
diff -urN games/quake3/Makefile games/quake3/Makefile
--- games/quake3/Makefile	Thu Jan 19 20:34:06 2006
+++ games/quake3/Makefile	Sat Feb 18 13:50:20 2006
@@ -9,7 +9,7 @@
 PORTVERSION=	1.32b
 PORTREVISION=	4
 CATEGORIES=	games
-MASTER_SITES=	ftp://ftp.idsoftware.com/idstuff/source/ \
+MASTER_SITES=	${MASTER_SITE_IDSOFTWARE:S|$|source/|} \
 		http://www.proarena.com/p/ftpx/x8524/quake_3_arena/ \
 		http://www.planetgargoyle.com/ \
 		http://www.teamdarkside.net/ \
diff -urN games/quake3-data/Makefile games/quake3-data/Makefile
--- games/quake3-data/Makefile	Tue Dec 20 08:59:17 2005
+++ games/quake3-data/Makefile	Sat Feb 18 13:51:02 2006
@@ -8,8 +8,8 @@
 PORTNAME=	data
 DISTVERSION=	1.32b-3
 CATEGORIES=	games
-MASTER_SITES=	ftp://ftp.idsoftware.com/idstuff/quake3/linux/ \
-		ftp://ftp.fasta.fh-dortmund.de/mirror/idstuff/quake3/linux/
+MASTER_SITES=	${MASTER_SITE_IDSOFTWARE}
+MASTER_SITE_SUBDIR=	quake3/linux
 PKGNAMEPREFIX=	${Q3PKGNAMEPREFIX}
 DISTNAME=	linuxq3apoint-${DISTVERSION}.x86
 EXTRACT_SUFX=	.run
diff -urN games/rtcw/Makefile games/rtcw/Makefile
--- games/rtcw/Makefile	Tue Jan 31 08:47:22 2006
+++ games/rtcw/Makefile	Sat Feb 18 13:54:00 2006
@@ -8,9 +8,8 @@
 PORTNAME=	rtcw
 DISTVERSION=	1.41-3
 CATEGORIES=	games linux
-MASTER_SITES=	ftp://ftp.chg.ru/.3/games/idgames/idstuff/wolf/linux/ \
-		ftp://ftp.idsoftware.com/idstuff/wolf/linux/ \
-		http://downloads-3dg.planetmirror.com/pub/3dgamers/games/returnwolfenstein/
+MASTER_SITES=	${MASTER_SITE_IDSOFTWARE}
+MASTER_SITE_SUBDIR=	wolf/linux
 DISTNAME=	wolf-linux-${DISTVERSION}.x86
 EXTRACT_SUFX=	.run