После нескольких малоудачных опытов по старту MekWar сервера я решил собрать его самостоятельно и получить возможность отладки.
Привожу здесь свои изыскания.
Понадобится JDK и Netbeans от санов. А так же бубуен.
Нус! Начнем! Удар в бубен [бум] и немного его потрясем [т-с-с-с-с]
1. Получаем последние версии сырцов.
Я привык к IDE Netbeans и решил не отказваться от имеющихся в нем возможностей. Посему и использовал встроенные туда механизмы SVN.
Получаем сырцы MegaMek с репозитория 
https://megamek.svn.sourceforge.net/svnroot/megamek и формируем на их базе проект netbeans.
Получаем сырцы MekWars с репозитория 
https://mekwars.svn.sourceforge.net/svnroot/mekwars и формируем на их базе еще один проект netbeans.
[бум][т-с-с-с-с][т-с-с-с-с]
2. Сборка MegaMek
Для успешной сборки необходимо отметить каталог l10n как содержащий сырцы (каталог src определяется автоматически). Делается это в свойствах проекта на закладке Sources.
Добавляем необходимые для сборки jar-ы (там же на закладке Libraries). В Compile-time Libraries должны быть добавлены все jar-ы находящиеся в папке lib.
На закладке Build/Packaging отмечаем Compres JAR File и Build JAR after Compiling.
На закладке Run выбираем в качестве Main Class - megamek.MegaMek.
Собственно можно собирать проект (Clean fnd Build) и ... [бум][бум][т-с-с-с-с] ... в папке dist появится MegaMek.jar и каталог lib.
В качестве последнего штриха в build.xml я добавил еще одну цель "make-dist" которя собирает дистрибутив MegaMek.zip, но для наших целей это не обязательно, так как мы собираемся использовать этот проект в качесвте подчиненного в проекте MekWars.
На всякий пожарный привожу здесь ant скрипт этой цели.
    <target name="make-dist" depends="jar">
        <copydir src="data" dest="dist/data" />
        <copydir src="docs" dest="dist/docs" />
        <copydir src="mmconf" dest="dist/mmconf" />
        <mkdir dir="dist/logs" />
        <copyfile src="HACKING" dest="dist/HACKING" />
        <copyfile src="license.txt" dest="dist/license.txt" />
        <copyfile src="startup.sh" dest="dist/startup.sh" />
        <copyfile src="MegaMek.exe" dest="dist/MegaMek.exe" />
        <zip destfile="dist/MegaMek.zip" basedir="dist/" />
    </target>
Продолжение следует...
Добавлено спустя 20 минут 29 секунд:Сборка MekWars своими руками (продолжение)2. Сборка MekWars
Переходим к проекту MekWars и делаем его главным.
Лезем в папки server-dist и client-dist и копируем все jar-ы из подпапок lib в папку lib проекта.
Добавляем все jar-ы из папки lib в Compile-time Libraries (закладка Libraries в свойствах проекта).
Там же жмем Add Project и добавляем проект MegaMek и главный jar из него (dist/MegaMek.jar) в Compile-time Libraries.
На закладке Build/Packaging отмечаем Compres JAR File и Build JAR after Compiling.
Закладку Run можно пока не трогать.
В принципе можно уже собирать проект, но это не будет Cool, так как нам нужно получить не один, а два дистрибутива (для сервера и клиента соответственно).
Вот тут то и понадобится бубен. Итак!!! [бум][бум][т-с-с-с-с][бум][бум]
В build.xml переопределяем цель "-post-jar", которя выполняется автоматически сразу после окончания процедуры сборки проекта.
    <target depends="init" name="-post-jar">
        <property name="dist.MegaMek.jar" value="${dist.dir}/MegaMek.jar"/>
        <property name="serverdist" value="${basedir}/server-dist"/>
        <property name="clientdist" value="${basedir}/client-dist"/>
	<property name="dedfile" value="${dist.dir}/MekWarsDed.jar"/>
	<property name="adminfile" value="${dist.dir}/MekWarsAdmin.jar"/>
	<property name="trackerfile" value="${dist.dir}/MekWarsTracker.jar"/>
	<property name="opeditor" value="${dist.dir}/MekWarsOpEditor.jar"/>
	<property name="autoupdater" value="${dist.dir}/MekWarsAutoUpdate.jar"/>
	<property name="serverfile" value="${dist.dir}/MekWarsServer.jar"/>
	<property name="clientfile" value="${dist.dir}/MekWarsClient.jar"/>
        <mkdir dir="${dist.dir}/logs"/>
        <jar
		basedir="${build.classes.dir}"
		compress="true"
		destfile="${adminfile}"
		excludes="server/**,client/**,dedicatedhost/**"
		includes="admin/**,com/**,common/**"
		manifest="AdminManifest.txt"
        />
        <jar
		basedir="${build.classes.dir}"
		compress="true"
		destfile="${clientfile}"
        	excludes="server/**,admin/**,dedicatedhost/**"
		includes="client/**,com/**,common/**"
		manifest="ClientManifest.txt"
        />
        <jar
		basedir="${build.classes.dir}"
		compress="true"
		destfile="${dedfile}"
		excludes="server/**,client/**,admin/**"
		includes="dedicatedhost/**,common/**"
		manifest="DedHostManifest.txt"
        />
        <jar
		basedir="${build.classes.dir}"
		compress="true"
		destfile="${autoupdater}"
		excludes="server/**,admin/**,dedicatedhost/**"
		includes="updaters/**"
		manifest="MekWarsAutoUpdateManifest.txt"
        />
        <jar
		basedir="${build.classes.dir}"
		compress="true"
		destfile="${opeditor}"
		excludes="server/**,admin/**,dedicatedhost/**"
		includes="OperationsEditor/**,common/DefaultOperation*,common/util/SpringLayoutHelper*"
		manifest="OpEditorManifest.txt"
        />
        <jar
		basedir="${build.classes.dir}"
		compress="true"
		destfile="${serverfile}"
		excludes="admin/**,dedicatedhost/**"
		includes="common/**,server/**,client/**"
		manifest="ServerManifest.txt"
        />
        <jar
		basedir="${build.classes.dir}"
		compress="true"
		destfile="${trackerfile}"
		excludes="server/**,admin/**,dedicatedhost/**"
		includes="tracker/**"
		manifest="TrackerManifest.txt"
        />
        <property name="server.dist.dir" value="${dist.dir}/server"/>
        <property name="client.dist.dir" value="${dist.dir}/client"/>
        <mkdir dir="${server.dist.dir}"/>
        <mkdir dir="${client.dist.dir}"/>
        <copy todir="${server.dist.dir}">
            <fileset file="${reference.MegaMek.jar}" />
            <fileset file="${serverfile}"/>
            <fileset file="${adminfile}"/>
            <fileset file="${trackerfile}"/>
            <fileset file="${opeditor}"/>
            <fileset file="${trackerfile}"/>
            <fileset dir="${serverdist}">
                <exclude name="data/mechfiles/**"/>
                <exclude name="MegaMek.jar"/>
            </fileset>
            <fileset dir="${project.MegaMek}/data"/>
            <fileset dir="${project.MegaMek}/l10n"/>
            <fileset dir="${project.MegaMek}/docs"/>
        </copy>
        <mkdir dir="${server.dist.dir}/logs"/>
        <copy todir="${client.dist.dir}">
            <fileset file="${reference.MegaMek.jar}" />
            <fileset file="${clientfile}"/>
            <fileset file="${adminfile}"/>
            <fileset file="${trackerfile}"/>
            <fileset file="${opeditor}"/>
            <fileset file="${trackerfile}"/>
            <fileset dir="${clientdist}">
                <exclude name="data/mechfiles/**"/>
                <exclude name="MegaMek.jar"/>
            </fileset>
            <fileset dir="${project.MegaMek}/data"/>
            <fileset dir="${project.MegaMek}/l10n"/>
            <fileset dir="${project.MegaMek}/docs"/>
        </copy>
        <mkdir dir="${client.dist.dir}/logs"/>
        <zip destfile="${dist.dir}/MekWarsSerever.zip" basedir="${serverdist}/" />
        <zip destfile="${dist.dir}/MekWarsClient.zip" basedir="${clientdist}/" />
    </target>
Вот теперь можно собирать проект - (Clean fnd Build) и ... [бум][бум][т-с-с-с-с] ... в папке dist появится кучка файлов и...
два каталога server и client, а так же два дистрибутива MekWarsClient.zip и MekWarsSerever.zip.
Продолжение следует...
Добавлено спустя 27 минут 30 секунд:Сборка MekWars своими руками (продолжение)4. Отладка
Теперь можно заняться отладкой. Так почему же у меня лезут ошибки при подключении клиента к серверу?
[т-с-с-с-с][т-с-с-с-с][бум]
Идем в свойства проекта и в закладке Run устанавливаем Main Class - server.MWServer и рабочую директорию dist/server.
Можно запускать дебаг, но я заодно решил пересобрать проект (Clean fnd Build) и потом [т-с-с-с-с][бум][бум] (Debug).
Через какое-то время сервер готов к приему клиентских соединений.
Идем в папку dist/client и запускаем оттуда клиента.
Пишем IP сервера - 127.0.0.1 и любоем имя пользователя.
Жмем Ok - [вот он момент истины] и что мы видим - downloading-downloading-...
Лезем в папку dist/server/logs. Ага... [бум][бум][т-с-с-с-с][т-с-с-с-с] файлие error.0 полнится и ширится.
Смотрим в каком классе грабли и ставим там точку прерывания (server.dataProvider.commands.BanTargeting).
Поиграем клавишами F7 и F8. Вот оно!!! [т-с-с-с-с] Идет обращение к несуществующему файлу ./campaign/bantargeting.dat, а почему он создался автоматически, как, например, ./campaign/banammo.dat, а потому, что кода его создания нет.
Исправляем ситуацию в server/dataProvider/commands/BanTargeting.java по образу и подобию server/dataProvider/commands/BannedAmmo.java.
    public void execute(Date timestamp, BinWriter out, CampaignData data)
            throws Exception {
    		FileInputStream configFile;
    	    try{
    	    	configFile = new FileInputStream("./campaign/bantargeting.dat");
    	    }catch (FileNotFoundException FNFE){
    			FileOutputStream ban = new FileOutputStream("./campaign/bantargeting.dat");
    			PrintStream p = new PrintStream(ban);
    			//server banned ammo
    			p.println(System.currentTimeMillis());
    			p.println("server#");
    			ban.close();
    			p.close();
    			configFile = new FileInputStream("./campaign/bantargeting.dat");
    	    }
            BufferedReader config = new BufferedReader(new InputStreamReader(configFile));            
            while (config.ready()) {
                out.println(config.readLine(),"BanTargeting");
            }
        }
Все пересборка (Clean fnd Build) и через 6 минут [бум][бум][т-с-с-с-с] получаем рабочий дистрибутив сервера, который адекватно реагируется на первый коннект клиента.
Задача решена - заключительный [БУМ].
Но продолжение следует. На очереди избавление от ошибок подгрузки описания мехов...