<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Wolfenstein &#8211; Eamon Woortman</title>
	<atom:link href="https://eamonwoortman.github.io/project-tag/wolfenstein/feed/" rel="self" type="application/rss+xml" />
	<link>https://eamonwoortman.github.io/</link>
	<description></description>
	<lastBuildDate>Sat, 20 May 2023 18:57:46 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.4.2</generator>
	<item>
		<title>DutchFix for W:ET – TCE</title>
		<link>https://eamonwoortman.github.io/project/dutchfix-for-wet-tce/</link>
					<comments>https://eamonwoortman.github.io/project/dutchfix-for-wet-tce/#respond</comments>
		
		<dc:creator><![CDATA[eamon]]></dc:creator>
		<pubDate>Fri, 19 May 2023 18:45:33 +0000</pubDate>
				<guid isPermaLink="false">https://eamonwoortman.github.io/?post_type=project&#038;p=585</guid>

					<description><![CDATA[Dutchfix&#160;is&#160;a QMM plugin I created with Merlin1991 to counteract a few nukes and exploits in the awesome True Combat Elite(TCE) mod. TrueCombat:Elite (TCE) is a modern world total conversion of the free, popular, stand-alone third-person shooter, Wolfenstein: Enemy Territory. That is, TCE is an entirely free game, made by gamers, for gamers. I was one [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><strong>Dutchfix</strong>&nbsp;is&nbsp;a QMM plugin I created with Merlin1991 to counteract a few nukes and exploits in the awesome True Combat Elite(TCE) mod.</p>



<blockquote class="wp-block-quote">
<p><a href="http://www.truecombatelite.com/" target="_blank" rel="noreferrer noopener">TrueCombat:Elite (TCE)</a> is a modern world total conversion of the free, popular, stand-alone third-person shooter, Wolfenstein: Enemy Territory. That is, TCE is an entirely free game, made by gamers, for gamers.</p>
</blockquote>



<p>I was one of the community leaders of TeamNeelix&nbsp;(later GoNe), we owned a couple of game servers which were quite popular.<br>Unfortunately, when the mod was first released, it had some exploits and nuke vulnerabilities that could be used to crash a server.<br>Obviously when you own a few servers, you’re going to get targeted by people who want to harm it. So with help of the community we found out how the exploits worked.</p>



<p>Since TCE was a closed-source project, we needed a way of fixing it without the source code.<br>Fortunately the commands used to exploit were all server commands, meaning we could intercept them by a hook between the engine and the mod.</p>



<p>We used <a href="https://sourceforge.net/projects/qmm/" target="_blank" rel="noreferrer noopener">Quake3 Multimod(QMM)</a> to create a plugin which checked all the commands and ignored them when it was an exploit.<br>The plugin would also optionally automatically ban nukers.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://eamonwoortman.github.io/project/dutchfix-for-wet-tce/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>GameMonkey ScriptMod</title>
		<link>https://eamonwoortman.github.io/project/gamemonkey-scriptmod/</link>
					<comments>https://eamonwoortman.github.io/project/gamemonkey-scriptmod/#respond</comments>
		
		<dc:creator><![CDATA[eamon]]></dc:creator>
		<pubDate>Mon, 13 Feb 2017 18:39:00 +0000</pubDate>
				<guid isPermaLink="false">https://eamonwoortman.github.io/?post_type=project&#038;p=584</guid>

					<description><![CDATA[GameMonkey Scriptmod&#160;is a&#160;project where we implemented the scripting language GameMonkey into a Quake3 Multimod plugin.Quake3 Multimod is a plugin manager which sits between the Quake3 engine and the actual game mod. This allows the plugin developers to hook any behavior into roughly any Quake3 based game without having to change the mod.GameMonkey&#160;is an embedded scripting [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><strong>GameMonkey Scriptmod</strong>&nbsp;is a&nbsp;project where we implemented the scripting language GameMonkey into a Quake3 Multimod plugin.<br><a href="https://sourceforge.net/projects/qmm/" target="_blank" rel="noreferrer noopener">Quake3 Multimod</a> is a plugin manager which sits between the Quake3 engine and the actual game mod. This allows the plugin developers to hook any behavior into roughly any Quake3 based game without having to change the mod.<br><a href="http://www.gmscript.com/" target="_blank" rel="noreferrer noopener">GameMonkey</a>&nbsp;is an embedded scripting language that looks similar to C. This makes it easier to work with by programmers and other people in general.<br>We started the project because we wanted more control over the behavior of the server. We already had a PHP bot tailing the server logs but this was slow and grew complicated quickly.</p>



<p>GameMonkey Scriptmod featured;</p>



<ul>
<li>100% scriptable admin Interface</li>



<li>Scriptable Rcon-like interface</li>



<li>Interface for clan Members. (beside ref login)</li>



<li>Interface for clan Friends. (beside ref login)</li>



<li>Access to your filesystem by .gm script Functions</li>



<li>Works with ALL Enemy Territory Mods (etmain/etpro/etbub/shrubmod/tce/etc.)</li>



<li>Easy to modify. No C/C++ knowledge necessary.</li>



<li>Change your ServerMod scriptfile without Server restart.</li>



<li>Easy Script Syntax. Not as complicated as LUA.</li>



<li>A lot of Script Examples.</li>



<li>Fast. GameMonkey is one of the fastest script languages.</li>



<li>Define your own “/” commands. Example: “/ban ID”, “/kick ID”, “drop ID”</li>



<li>Create an individual gameserver mod. Personalize your Server.</li>



<li>Exchange your script files with other serveradmins.</li>



<li>Client to client private chat</li>



<li>IRC-like channel chat</li>
</ul>



<p>I developed this project with another developer: Apologet.<br>Apologet started the project and later involved me. Later we got help from im2good4u and Dr.Evil.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://eamonwoortman.github.io/project/gamemonkey-scriptmod/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ETLive</title>
		<link>https://eamonwoortman.github.io/project/etlive/</link>
					<comments>https://eamonwoortman.github.io/project/etlive/#respond</comments>
		
		<dc:creator><![CDATA[eamon]]></dc:creator>
		<pubDate>Sun, 01 Jan 2017 18:29:00 +0000</pubDate>
				<guid isPermaLink="false">https://eamonwoortman.github.io/?post_type=project&#038;p=581</guid>

					<description><![CDATA[ETLive&#160;was a project that roughly started in 2011 which goal was to create a&#160;browser embedded version of Enemy Territory. Four years ago, we started with the idea to create a QuakeLive clone for Enemy Territory. We thought QuakeLive did an amazing job on the following components; Back then, the ET community was(and still is) divided [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><strong>ETLive</strong>&nbsp;was a project that roughly started in 2011 which goal was to create a&nbsp;browser embedded version of Enemy Territory.</p>



<p>Four years ago, we started with the idea to create a QuakeLive clone for Enemy Territory. We thought QuakeLive did an amazing job on the following components;</p>



<ul>
<li>Onboarding players is easy (one simple setup),</li>



<li>Having a proper player/clan/community website</li>



<li>A simple server browser</li>



<li>Automatically download of new content</li>



<li>A simple but effective friends and chat system</li>



<li>A statistics, achievement and ranking systems</li>
</ul>



<p>Back then, the ET community was(and still is) divided over multiple ET versions, mods and suffering from ghost servers(redirect and ‘full bot’ servers). Also new players would not know what to download or which server to go to. A new centralised community combined with official servers would solve a lot of issues. And thus the idea of ETLive was born.</p>



<p>We quickly had a nice little prototype working with one static HTML page and a FireBreath (NPAPI) plugin. The plugin was responsible for rendering the game inside the HTML canvas and forwarding input from the browser to the game.</p>



<p>After that it was vital to create a login system from we could expand and implement more features. We started with a simple CakePHP page, later ASP.net and finally switched to Python with the amazing Django framework.</p>



<p>During the development of ETLive it became clear that Google and Firefox decided to <a href="https://www.chromium.org/developers/npapi-deprecation" target="_blank" rel="noreferrer noopener">stop supporting NPAPI plugins</a>. We were unsure how long this would take so we kept on developing hoping one browser would still support it as an exception. In the end it was clear NPAPI would be gone forever, we had to change tactics.</p>



<p>By then we were already using the amazing <a href="https://www.etlegacy.com/" target="_blank" rel="noreferrer noopener">ETLegacy</a> project, which was an open-source, optimized Enemy Territory. One of our team members, Toni, suggested we could change the engine so it could be used as a protocol, eg. etlive://some-ip. This way we could start the game from the browser and become more like a launcher, like Battlenet.</p>



<p>The launcher proved to be working and we even had communication between the servers and back-end. The back-end would later run inside Docker containers thanks to help of one of our team members, Marcus.<br>However, due to the lack of proper project-management, too often switching technologies, lack of time&nbsp;and a non-coherent team, we decided to kill the project after 4 years. There was simply not enough progress or inertia to continue.<br>Despite the fact we had to kill the project, we did learn a lot regarding project (mis-)management, Django, EmberJS, Docker and the ET engine.</p>



<p>A&nbsp;longer blog post containing the post-mortem of the ETLive project is still pending. This will contain information about our process and what technology we used.</p>



<figure class="wp-block-image"><a href="//eamonwoortman.nl/wp-content/uploads/2017/01/Game.jpg"><img fetchpriority="high" decoding="async" width="300" height="169" src="https://eamonwoortman.github.io/wp-content/uploads/2017/01/Game-300x169.jpg" alt="" class="wp-image-241" srcset="https://eamonwoortman.github.io/wp-content/uploads/2017/01/Game-300x169.jpg 300w, https://eamonwoortman.github.io/wp-content/uploads/2017/01/Game-768x432.jpg 768w, https://eamonwoortman.github.io/wp-content/uploads/2017/01/Game-1024x576.jpg 1024w, https://eamonwoortman.github.io/wp-content/uploads/2017/01/Game.jpg 1600w" sizes="(max-width: 300px) 100vw, 300px" /></a></figure>



<figure class="wp-block-image"><a href="//eamonwoortman.nl/wp-content/uploads/2017/01/Serverlist.jpg"><img decoding="async" width="300" height="169" src="https://eamonwoortman.github.io/wp-content/uploads/2017/01/Serverlist-300x169.jpg" alt="" class="wp-image-243" srcset="https://eamonwoortman.github.io/wp-content/uploads/2017/01/Serverlist-300x169.jpg 300w, https://eamonwoortman.github.io/wp-content/uploads/2017/01/Serverlist-768x432.jpg 768w, https://eamonwoortman.github.io/wp-content/uploads/2017/01/Serverlist-1024x576.jpg 1024w, https://eamonwoortman.github.io/wp-content/uploads/2017/01/Serverlist.jpg 1600w" sizes="(max-width: 300px) 100vw, 300px" /></a></figure>



<figure class="wp-block-image"><a href="//eamonwoortman.nl/wp-content/uploads/2017/01/ET.png"><img decoding="async" width="300" height="212" src="https://eamonwoortman.github.io/wp-content/uploads/2017/01/ET-300x212.png" alt="" class="wp-image-244" srcset="https://eamonwoortman.github.io/wp-content/uploads/2017/01/ET-300x212.png 300w, https://eamonwoortman.github.io/wp-content/uploads/2017/01/ET-768x543.png 768w, https://eamonwoortman.github.io/wp-content/uploads/2017/01/ET-1024x724.png 1024w" sizes="(max-width: 300px) 100vw, 300px" /></a></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://eamonwoortman.github.io/project/etlive/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
