<?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>THEXCUT.DE &#187; GameGuide</title>
	<atom:link href="http://thexcut.de/tag/gameguide/feed/" rel="self" type="application/rss+xml" />
	<link>http://thexcut.de</link>
	<description></description>
	<lastBuildDate>Wed, 23 Mar 2011 08:35:13 +0000</lastBuildDate>
	<language>de-DE</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=3.8.41</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
	<item>
		<title>StarCraft 2 Begriffe</title>
		<link>http://thexcut.de/2010/starcraft-2-begriffe/</link>
		<comments>http://thexcut.de/2010/starcraft-2-begriffe/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 15:29:43 +0000</pubDate>
		<dc:creator><![CDATA[xcut]]></dc:creator>
				<category><![CDATA[LevelUp]]></category>
		<category><![CDATA[Eco]]></category>
		<category><![CDATA[GameGuide]]></category>
		<category><![CDATA[gg]]></category>
		<category><![CDATA[Help]]></category>
		<category><![CDATA[Hilfe]]></category>
		<category><![CDATA[Macro]]></category>
		<category><![CDATA[Micro]]></category>
		<category><![CDATA[Rush]]></category>
		<category><![CDATA[SC2]]></category>
		<category><![CDATA[SCII]]></category>
		<category><![CDATA[StarCraft]]></category>
		<category><![CDATA[StarCraft II]]></category>
		<category><![CDATA[StarCraft2]]></category>

		<guid isPermaLink="false">http://thexcut.de/?p=203</guid>
		<description><![CDATA[In den beiden Videos werden ein paar Begrifflichkeiten zu StarCraft, bzw. StarCraft II erklärt: BO = Build Order Sim City = Durch bestimmte Anordnung von Gebäuden den Weg versperren Rush = Schneller Angriff welcher verschiedene Ziele verfolgen kann Fast Exe = Fast Expansion = Schnelle erweiterung seiner Basis durch weitere kleine Basen Eco = Economy [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>In den beiden Videos werden ein paar Begrifflichkeiten zu StarCraft, bzw. StarCraft II erklärt:</p>
<p style="padding-left: 30px;">BO = <strong>B</strong>uild <strong>O</strong>rder<br />
Sim City = Durch bestimmte Anordnung von Gebäuden den Weg versperren<br />
Rush = Schneller Angriff welcher verschiedene Ziele verfolgen kann<br />
Fast Exe = Fast Expansion = Schnelle erweiterung seiner Basis durch weitere kleine Basen<br />
Eco = Economy = Einkommen<br />
Micro &amp; Macro = <a title="http://de.wikipedia.org/wiki/Micromanagement" href="http://de.wikipedia.org/wiki/Micromanagement" target="_blank">http://de.wikipedia.org/wiki/Micromanagement</a></p>
<p><a title="http://de.wikipedia.org/wiki/Micromanagement" href="http://de.wikipedia.org/wiki/Micromanagement" target="_blank"><span id="more-203"></span></a></p>
<h6><strong>Video &#8211; Teil 1/2</strong></h6>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/VsUti4ZxafM&amp;hl=de_DE&amp;fs=1&amp;color1=0x2b405b&amp;color2=0x6b8ab6&amp;hd=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/VsUti4ZxafM&amp;hl=de_DE&amp;fs=1&amp;color1=0x2b405b&amp;color2=0x6b8ab6&amp;hd=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<h6>Video &#8211; Teil 2/2</h6>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/_smYs3sh_Bk&amp;hl=de_DE&amp;fs=1&amp;color1=0x2b405b&amp;color2=0x6b8ab6&amp;hd=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/_smYs3sh_Bk&amp;hl=de_DE&amp;fs=1&amp;color1=0x2b405b&amp;color2=0x6b8ab6&amp;hd=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://thexcut.de/2010/starcraft-2-begriffe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2.2 Die Synergie zwischen FPS und Maxpackets</title>
		<link>http://thexcut.de/2009/2-2-die-synergie-zwischen-fps-und-maxpackets/</link>
		<comments>http://thexcut.de/2009/2-2-die-synergie-zwischen-fps-und-maxpackets/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 15:33:06 +0000</pubDate>
		<dc:creator><![CDATA[xcut]]></dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[GameGuide]]></category>
		<category><![CDATA[Netsettings]]></category>

		<guid isPermaLink="false">http://thexcut.de/?p=36</guid>
		<description><![CDATA[Vielen ist nicht ganz klar welche Vor- und Nachteile die Beziehung von com_maxFPS und cl_maxpackets hat. Warum werden die FPS in Call of Duty 4 (CoD4) beschränkt? Warum erlaubt der deutsche Bereich der ESL sogar nur 125 FPS? Welche tiefergehende Wirkung haben die Maxpackets im Zusammenhang mit den FPS?]]></description>
				<content:encoded><![CDATA[<p>Vielen ist nicht ganz klar welche Vor- und Nachteile die Beziehung von com_maxFPS und cl_maxpackets hat. Warum werden die FPS in Call of Duty 4 (CoD4) beschränkt? Warum erlaubt der deutsche Bereich der ESL sogar nur 125 FPS? Welche tiefergehende Wirkung haben die <a title="2.1 Die Maxpackets" href="http://thexcut.de/2009/2-1-die-maxpackets/" target="_self">Maxpackets</a> im Zusammenhang mit den FPS?</p>
<p>Im folgenden Artikel werden diese und weitere Fragen geklärt. Aber Achtung: Es kommt auch ein wenig Mathematik vor! :p</p>
<p><span id="more-36"></span></p>
<p>Ein wenig Grundwissen um die folgenden Überlegungen anzustellen, kann man einer <a title="E-Mail von arQon" href="http://fragmag.de/wp-content/uploads/2008/07/email_arqon.txt" target="_blank">E-Mail von arQon</a> einem Entwickler des <a title="CMPA Promode" href="http://www.promode.org " target="_blank">CMPA Quake 3 Promode</a>, entnehmen.</p>
<blockquote><p><span style="color: #888888;"><em>and cl_maxpackets give you the ability to send an update every frame or<br />
every 2 frames, 3 frames, or 4 frames (and so-on) which means that the<br />
amount of packets you send is still roughly connected to your frames per<br />
second.</em></span></p></blockquote>
<p>Dieses Zitat aus der E-Mail ist das wesentlichste der ganzen E-Mail. In der E-Mail wird aber noch wesentlich genauer auf diesen Satz eingegangen.</p>
<h2>Maxpackets -&gt; Maxfps</h2>
<p>Wie wir aus einem anderen <a title="2.1 Die Maxpackets" href="http://thexcut.de/2009/2-1-die-maxpackets/" target="_self">Artikel</a> des GameGuides bereits wissen:</p>
<ul>
<li>pro FPS maximal 1 Paket</li>
<li>Maxpackets müssen ein Teiler der FPS sein</li>
<li>der Teiler muss ein Integer-Wert sein</li>
</ul>
<p>Weiterführend ist zu sagen, dass der Client (also der PC des Spielers) <em>pro Frame ein Command</em> erstellt. Ein Command enthält Informationen darüber, welche <strong>Knöpfe</strong> der Spieler gerade drückt, wohin der Spieler gerade schaut (<strong>View-Koordinaten</strong>), wo der Spieler gerade steht (<strong>Positions-Koordinaten</strong>) und wie die <strong>Maus</strong> bewegt wurde. Diese Command-Listen sind <em>circa 20 byte</em> (~0,00002 MB) Groß.</p>
<p>Wenn wir 125 FPS haben, erstellen wir also 125 Commands die Sekunde. Bei 250 Frames-per-Second logischerweise <strong>250 CPS</strong> (Commands per Second). Bei 250 FPS wird also alle <strong>4 ms</strong> abgefragt was wir gerade machen. Bei 125 FPS alle 8 ms und bei 100 FPS alle 10 ms. Das verdeutlicht, warum wir zum flüssigen Spielen nicht mehr als 125 FPS benötigen, wer erstellt schon mehr als 125 Aktionen in der Sekunde? (Dieser Satz war bezogen auf die ESL-DE Diskussion)</p>
<p>Eigentlich&#8230; Ja nun, wieso eigentlich &#8220;<strong>Eigentlich</strong>&#8220;? Es gab viele &#8211; vor allem &#8220;professionelle&#8221; &#8211; Spieler, die sich beschwert haben, das es bei <strong>125 FPS ruckeliger</strong> wäre als bei 250 FPS. Aus eigener Erfahrung kann ich sagen: Ja es stimmt, aber&#8230; das liegt meiner Meinung nach größtenteils an der Gewöhnung. Als zweiten Grund habe ich eine <strong>Theorie</strong>, die ich so nicht 100%ig beweisen kann, welche aber &#8211; für mich zumindest &#8211; schlüssig und logisch ist. Wie wir wissen wird <strong>pro FPS ein Command</strong> erstellt. Dreht man sich nun um <strong>180°</strong> innerhalb von einer Sekunde, können <strong>nur 125°</strong> in dieser Sekunde verarbeitet werden, der rest wird interpoliert. Sollte diese Theorie stimmen, muss man sich trotzdem Fragen, ob man wirklich dauerhaft in der Lage ist diese interpolation zu sehen &#8211; <strong>das bezweifel</strong> ich stark -. Ich denke man kann sich sehr gut daran gewöhnen.</p>
<p>Warum verbietet nun aber der deutsche Bereich der <a title="ESL" href="http://www.esl.eu/de/cod4" target="_blank">ESL</a> <strong>FPS &gt; 125</strong>? Durch diese Frage kommen wir der Überschrift dieses Abschnitts schon näher, nämlich <strong>der Beziehung</strong> von Maxpackets und FPS. Wir wissen, dass durch hohe FPS, Beispielsweise 333 FPS, <strong>Bugs</strong> auftreten. Lautloses gehen ist hier das Stichwort. Auch bei 250 FPS treten Bugs im <strong>Movement</strong> etc. auf, aber solch hohe FPS in Verbindung mit den richtigen Maxpackets haben enorme &#8211; sehr wahrscheinlich unfaire &#8211; <strong>Vorteile</strong>. Um das folgende Rechenbeispiel detailiert verstehen zu können, ist es ratsam den  <a title="2.1 Die Maxpackets" href="http://thexcut.de/2009/2-1-die-maxpackets/" target="_self">Kapitel 2.1 Die Maxpackets</a> Artikel gelesen zu haben. Bitte tut dies &#8211; falls noch nicht geschehen &#8211; bevor ihr weiter lest.</p>
<table border="1">
<tbody>
<tr>
<th>FPS</th>
<th>max. zulässige MP</th>
<th>=</th>
</tr>
<tr>
<td>100</td>
<td>100</td>
<td>1 Command / Paket</td>
</tr>
<tr>
<td>125</td>
<td>63</td>
<td>2 Commands / Paket</td>
</tr>
<tr>
<td>250</td>
<td>84</td>
<td>3 Command / Paket</td>
</tr>
</tbody>
</table>
<p>100 FPS -&gt; alle 10 ms ein neuer Frame<br />
125 FPS -&gt; alle 8 ms ein neuer Frame<br />
250 FPS -&gt; alle 4 ms ein neuer Frame</p>
<p>Nun rechnen wir aus in welchen Abständen und mit wievielen Command-Listen ein Paket gesendet wird, in Abhängigkeit der Einstellung von com_maxFPS.</p>
<p>100 FPS / 100 MP</p>
<ul>
<li> jedes Paket besteht aus einer Command-Liste, also ein Frame</li>
<li> jeden Frame wird ein Paket verschickt</li>
<li> 1 Frame = 10 ms</li>
<li> alle <strong>10 ms</strong> wird ein Paket verschickt. Inhalt: <strong>1 Command-Liste</strong></li>
</ul>
<p>125 FPS / 63 MP</p>
<ul>
<li> jedes Paket besteht aus zwei Command-Listen, also zwei Frames</li>
<li> alle <strong>zwei</strong> Frames wird <strong>ein</strong> Paket gesendet</li>
<li> 1 Frame = 8 ms; 2 Frames = 16 ms</li>
<li> alle <strong>16 ms</strong> wird ein Paket verschickt. Inhalt: <strong>2 Command-Listen</strong></li>
</ul>
<p>250 FPS / 84 MP</p>
<ul>
<li> jedes Paket besteht aus 3 Command-Listen, also 3 Frames</li>
<li> alle <strong>drei</strong> Frames <strong>ein</strong> Paket</li>
<li> 1 Frame = 4 ms; 3 Frames = 12 ms</li>
<li> alle <strong>12 ms</strong> wird ein Paket verschickt. Inhalt: <strong>3 Command-Listen</strong></li>
</ul>
<p>Ich hoffe, dass es bis hierhin verständlich genug ist. Etwaige Fragen können in den Kommentaren gestellt werden. Hierfür benötigt ihr einen <a title="Einen Account auf THEXCUT.DE erstellen." href="http://www.THEXCUT.DE/wp-login.php?action=register" target="_self">Account</a> und müsst <a title="Log In @ THEXCUT.DE" href="http://www.THEXCUT.DE/wp-login.php" target="_blank">eingeloggt</a> sein. Ich / Wir beantworte(n) alle Fragen sehr gerne und so schnell wie möglich!</p>
<h2>Das Ergebnis der Beziehung</h2>
<p>Um alles auf einen gemeinsamen Nenner zu kommen, habe ich die Zeit auf <strong>240 ms</strong> gesetzt, hierbei ergibt sich folgendes Bild:</p>
<table border="1">
<tbody>
<tr>
<th>FPS / MP</th>
<th>Pakete</th>
<th>Command-Listen</th>
</tr>
<tr>
<td>100 / 100</td>
<td>24</td>
<td>24</td>
</tr>
<tr>
<td>125 / 63</td>
<td>15</td>
<td>30</td>
</tr>
<tr>
<td>250 / 84</td>
<td>20</td>
<td>60</td>
</tr>
</tbody>
</table>
<p>Für den Abgleich mit dem Server ist es natürlich am besten wenn man die 100/100 nimmt. So wird &#8211; zumindest wenn alles Konstant ist (FPS, Leitung usw.) &#8211; alles was man macht übertragen. Der Server weiss schnell bescheid (10 ms) über jeden einzelnen FPS. Es sollte <strong>genaueres Zielen</strong> möglich sein und ebenso <strong>keinen Durchschuss</strong> geben. Nachteil: Schnelle Reaktionen im ms-Bereich werden schlechter übertragen und Dargestellt.</p>
<p>Wenn man einen Vergleich von 125 FPS und 250 FPS anhand obiger Tabelle ansieht wird relativ schnell deutlich, warum 250 FPS ein unfairer Vorteil sind. Bei 250 FPS ist die Synchronität mit dem Server besser, man meldet dem Server <strong>25% öfter seine Aktionen</strong>. Nicht nur, dass man dem Server öfter Aktionen übermittel (Command-Listen), sondern auch <strong>wesentlich mehr</strong>, nämlich doppelt soviele Aktionen (60 zu 30).</p>
<p>Nun kann man eine <strong>Grundsatz-Diskussion</strong> darüber führen, ob nicht alle Spieler, die professionell Spielen wollen, Geld investieren müssen um <strong>250 FPS Konstant</strong> nutzen zu können oder nicht. Sollange hierbei kein Ergebnis erzielt wird ist die einzig faire Variante die <strong>FPS-Obergrenze</strong> auf 125 zu setzen.</p>
<h2>Und wofür sorgen die sv_FPS?</h2>
<p>Die sv_FPS sind im Prinzip das gleiche wie die com_maxFPS. Es funktioniert im Prinzip <strong>gleich wie</strong> die <strong>com_maxFPS</strong>. sv_FPS 20 bedeutet also, dass der Server alle 50 ms eine Aktion ausführt. Er arbeitet also alle 50 ms alle ihm geschickten Command-Listen ab, führt diese aus, baut ein Gameworld-Update (Frame) und schickt diesen an den Client. Der Client empfängt also alle 50 ms ein Gameworld-Update (sofern diese den Wert snaps auch auf 20 hat). Ihr seht, es ist alles genauso wie beim Client.</p>
<p>Jetzt könnt ihr euch ausmalen warum <strong>sv_FPS 30 wesentlich besser</strong> sind. Durch sv_FPS 30 entstehen <strong>aber Bugs</strong>, da die Coder von Call of Duty 4 viele Werte und Berechnungen auf sv_FPS 20 <a title="google" href="http://www.google.de/search?hl=de&amp;q=hardgecoded&amp;btnG=Suche&amp;meta=" target="_blank">hardgecoded</a> haben. Dieser Fehler kann nur durch Mods behoben werden.</p>
<h2>Wie mache ich was?</h2>
<p><strong>FPS-Begrenzung einstellen:</strong><br />
Entweder fügt ihr der Config &#8220;seta com_maxFPS XXX&#8221; hinzu, wobei XXX für den gewünschten Wert steht oder ihr öffnet die Console (idR. mit dem ^) und gebt dort &#8220;com_maxFPS XXX&#8221; ein. Natürlich jeweils ohne die Tüttelchen.</p>
<p><strong>Maxpackets einstellen:</strong><br />
Config -&gt; &#8220;seta cl_maxpackets XXX&#8221;<br />
Console -&gt; &#8220;cl_maxpackets XXX&#8221;</p>
<p><strong>Die Serverframes:</strong><br />
Die Serverframes werden per Befehl &#8220;sv_fps XX&#8221; eingestellt. Dieser Befehl kann entweder in die Serverconfig oder in die Startparameter geschrieben werden. Der Befehl muss vor dem Serverstart aktiviert werden, nach dem Serverstart ist er Read-Only und kann nicht mehr geändert werden.</p>
<h2>Glossar</h2>
<ul>
<li>MP = <strong>M</strong>ax<strong>p</strong>ackets</li>
<li>FPS = <strong>F</strong>rames <strong>p</strong>er <strong>S</strong>econd</li>
<li>SV = <strong>S</strong>er<strong>v</strong>er</li>
<li>CPS = <strong>C</strong>ommands <strong>p</strong>er <strong>S</strong>econd</li>
<li>ESL = <strong>E</strong>lectronic <strong>S</strong>ports <strong>L</strong>eague</li>
<li>ms = milli-sekunden (1 sekunde = 1.000 ms)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://thexcut.de/2009/2-2-die-synergie-zwischen-fps-und-maxpackets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2.1 Die Maxpackets</title>
		<link>http://thexcut.de/2009/2-1-die-maxpackets/</link>
		<comments>http://thexcut.de/2009/2-1-die-maxpackets/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 16:08:11 +0000</pubDate>
		<dc:creator><![CDATA[xcut]]></dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[GameGuide]]></category>
		<category><![CDATA[Netsettings]]></category>

		<guid isPermaLink="false">http://thexcut.de/?p=18</guid>
		<description><![CDATA[Die Maxpackets, als CoD Befehl cl_maxpackets, werden im Allgemeinen wie folgend beschrieben: "..Der Configbefehl cl_maxpackets bestimmt die Anzahl der maximal vom Client verschickten Gameworldupdates pro Sekunde..". Da dies eine doch sehr oberflächliche Beschreibung ist, werden wir uns in diesem Artikel etwas tiefergehend mit den cl_maxpackets beschäftigen.]]></description>
				<content:encoded><![CDATA[<p>Einer der elementarsten Teile der Netsettsing, sind die Maxpackets.</p>
<p>Die Maxpackets, als CoD Befehl <strong>cl_maxpackets</strong>, werden im Allgemeinen wie folgend beschrieben: &#8220;..Der Configbefehl cl_maxpackets bestimmt die Anzahl der maximal vom Client verschickten Gameworldupdates pro Sekunde..&#8221;. Da dies eine doch sehr oberflächliche Beschreibung ist, werden wir uns in diesem Artikel etwas tiefergehend mit den cl_maxpackets beschäftigen.</p>
<p><span id="more-18"></span></p>
<p>Auch wenn die Entwickler immer meinten sie hätten für Call of Duty 2 &#8211; und auch für CoD4 &#8211; eine neue Enginge entwickelt, basiert diese wohl doch, zumindest zu 95%, auf der Quake3 Engine. Somit sollten wohl auch alle Fakten bezüglich der Quake3 Engine auch auf die Call of Duty 2 Engine zutreffen. Da viele CoD2&#8242;ler auch CoD1&#8242;ler waren, beschäftigen sich die meisten mit der Maxpacketfrage schon seit mehr als 3 Jahren, oder sogar länger &#8211; eben bedingt durch den Bezug auf die Quakeengine.</p>
<p>Direkt zu Beginn ein kleiner Ausschnitt von dem, was der Leadcoder von SID einmal im IRC gesagt hat:</p>
<blockquote><p><span style="color: #999999;"><em>&lt;TwentySeven&gt; well packets at a divisor of your fps<br />
&lt;TwentySeven&gt; 30 is good<br />
&lt;TwentySeven&gt; every &#8220;frame&#8221; the client generates a command<br />
&lt;TwentySeven&gt; a command is just a list of what buttons you have held down<br />
&lt;TwentySeven&gt; and your viewangles<br />
&lt;TwentySeven&gt; tiny packet like 20 bytes<br />
&lt;TwentySeven&gt; now whatever your maxpackets is<br />
&lt;TwentySeven&gt; is how many of those to send per packet<br />
&lt;TwentySeven&gt; so cl_maxpackets 42 at 125fps<br />
&lt;TwentySeven&gt; is ~ 3 commands per packet<br />
&lt;thnom&gt; So why is it locked now ?<br />
&lt;TwentySeven&gt; because<br />
&lt;TwentySeven&gt; sending 125 packets per second is okay for 1v1 cpma<br />
&lt;TwentySeven&gt; or q3<br />
&lt;TwentySeven&gt; but for 14 player UrT<br />
&lt;thnom&gt; Oh<br />
&lt;TwentySeven&gt; thats 14*125 packets per second<br />
&lt;TwentySeven&gt; essentially a ddos attack</em></span></p></blockquote>
<p>Somit wäre schonmal geklärt, warum sich der Spielraum der Maxpackets nur in dem Bereich von 10-100 dreht. Höhere Maxpackets wuerden zwar nicht gleich zu einer DDoS Attacke des Servers führen, aber zu einer hohen Serverbelastung, somit zu Lag und ausserdem zu wesentlich mehr Traffic.</p>
<p>Das Q3 System habe ich bislang immer so verstanden, dass sowieso nur alle 50ms (bei sv_fps 20 &#8211; welches bei CoD2 leider nicht anders geht, ausser mit dem neusten PAM Mod) ein neuer Frame serverseitig berechnet wird und dann an die Clients verteilt wird. Es ist also vollkommen egal, ob von einem Player in den 50ms etwa 6,25 (cl_maxpackets 125/20) oder 1,5 (cl_maxpackets 30/20) Pakete ankommen, die werden sowieso nur in eine Queue gestellt und nacheinander später, wenn wieder ein Server frame generiert wird, weitergereicht und abgearbeitet.</p>
<p>Der zusammenhang von com_maxfps und cl_maxpacket scheint sehr vielen nicht ganz klar zu sein. Vielleicht hilft folgendes einigen bei ihren Connection-Einstellungen. Grundsätlich kann der Client pro Frame maximal ein Paket an den Server schicken.</p>
<p>com_maxfps 100 + cl_maxpacket 100 = 100 verschickte pakete<br />
com_maxfps 76 + cl_maxpacket 100 = 76 verschickte pakete<br />
com_maxfps 76 + cl_maxpacket 76 = 76 verschickte pakete</p>
<p>Natürlich verursachen zu niedrige Maxpackets, wie zum Beispiel 30, einen Kuenstlichen Lag, deshalb ist es gut, dass in den meisten Liegen die Maxpackets auf 60-100 beschränkt sind. Aber nicht nur für die Mitspieler sind zu niedrige Maxpackets fatal, auch für einen selber, denn wenn die Maxpackets falsch eingestellt sind, schickt der Client die generierten Commands mit Verzögerung &#8211; da nur jeden 2., 3. oder 4. Frame &#8211; an den Server. (Dazu mehr in einem anderen Teil von GameGuide)</p>
<p>Zum Beispiel:<br />
com_maxfps 76 + cl_maxpacket 60 = 38 verschickte pakete</p>
<p>Für 76 FPS gibt es nur die Möglichkeit 76 Maxpackets einzustellen, da in den meisten Turnieren und Co. mindestens 60 Maxpackets gefordert sind. Stellt man nun aber 60 Maxpackets ein, nimmt die Enginge den nächst niedrigeren Wert, also 38 Maxpackets. Dies kommt &#8211; wie gesagt &#8211; dadurch, dass die Engine als Maxpackets-Divisior nur ganze Zahlen nehmen kann.</p>
<p>Wir sollten nun die Frage klären, welche Maxpackets wir in diesem Bereich waehlen sollten. Wie der Leadcoder schon sagte: &#8220;Ein teiler der FPS ist eine gute Wahl&#8221;. Wie wir aber auch wissen, es macht keinen alzugroßen Unterschied ob wir 2 Packete oder 6 Packete pro Frame verschicken. Manchmal ist weniger auch mehr, vor allem im Internet, so können wir Lag vermeiden. Der Teiler muss ein Integer-Wert sein. Ein Integer-Wert ist eine ganze Zahl, also 1,2,3..10 etc., nicht 1.2 oder 4.5. Dies beruht auf dem Quellcode der Quake-Engine. Warum dies so ist wird in einem anderen Teil der Serie erklärt.</p>
<p><strong>Meine Empfehlungen:</strong><br />
<strong>FPS:</strong> 76 / <strong>Maxpackets:</strong> 76<br />
<strong>FPS:</strong> 125 / <strong>Maxpackets:</strong> 63<br />
<strong>FPS:</strong> 333 / <strong>Maxpackets:</strong> 84, bzw. 100</p>
<p>76,125,333 sind FPS-Werte bei denen der <strong>Strafejump</strong> funktioniert.</p>
<p><strong>FPS:</strong> 250 / <strong>Maxpackets:</strong> 84<br />
<strong>FPS:</strong> 100 / <strong>Maxpackets:</strong> 100<br />
<strong>FPS:</strong> 60 / <strong>Maxpackets:</strong> 60</p>
<p>Ich habe versucht diesen Artikel möglichst niedrig im Niveau zu halten, damit er für jeden verständlich ist. Ich bin absichtlich nicht näher auf Übertragungsprotokolle etc. eingegangen. Sollte hierbei bedarf sein, nutz bitte die Kommentarfunktion.</p>
<p>Als Abschluss: Da sich der Befehl cl_packetdup auch auf die Maxpackets bezieht, folgend noch ein kleiner Hinweis:</p>
<blockquote><p><span style="color: #999999;"><em>&lt;TwentySeven&gt; &#8220;CL_packetdup is a multiplier, not a &#8220;number of packets to send&#8221; so CL_packetdup 0 and 1, both mean only one copy is sent. cl_packetdup 2 means two copies.</em></span></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://thexcut.de/2009/2-1-die-maxpackets/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>1.1 Das Lagometer</title>
		<link>http://thexcut.de/2009/1-1-das-lagometer/</link>
		<comments>http://thexcut.de/2009/1-1-das-lagometer/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 15:58:57 +0000</pubDate>
		<dc:creator><![CDATA[xcut]]></dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Basics]]></category>
		<category><![CDATA[GameGuide]]></category>

		<guid isPermaLink="false">http://thexcut.de/?p=5</guid>
		<description><![CDATA[Das Lagometer sollte schon seit Quake bekannt sein, das kleine bunte Ding, in Call of Duty unten rechts. Es zeigt die Güte der Netzwerkverbindung an und ist in zwei Bereiche geteilt.]]></description>
				<content:encoded><![CDATA[<p>Das Lagometer sollte schon seit Quake bekannt sein, das kleine bunte Ding, in Call of Duty unten rechts. Es zeigt die Güte der Netzwerkverbindung an und ist in zwei Bereiche geteilt.</p>
<p><span id="more-5"></span></p>
<h2>Die zwei Bereiche</h2>
<p><span style="text-decoration: underline;">Die obere Linie</span> bezieht sich auf die Übereinstimmung zwischen Clientframes und Serversnaps:<br />
<span style="color: blue;">blau</span> = alle vom Server erzeugten Gameworldupdates werden vom Client verarbeitet<br />
<span style="color: #ffcc00;">gelb</span> = es werden Gameworldupdates nicht angezeigt, d.h. entweder sollte man den Wert fuer Snaps verringern oder seine Grafiksettings auf mehr fps trimmen.</p>
<p><span style="text-decoration: underline;">Die untere Linie</span> bezieht sich auf die eintreffenden Packete der Verbindung :<br />
<span style="color: green;">gruen</span> = Die Verbindung ist ohne Packetverluste, alle Daten vom Server kommen beim Client an.<br />
<span style="color: #ffcc00;">gelb</span> = Es werden Packete vom Client selbst gedroppt. Maßnahme : &#8220;rate&#8221; erhöhen.<br />
<span style="color: red;">rot</span> = Es sind Packete auf dem Weg von Server zu Client verlorengegangen, das ist der beruechtigte Packetloss. Maßnahme : Die Variable &#8220;cl_packetdup&#8221; auf 2 oder hoeher stellen, wenn das nicht hilft, den Server oder den ISP wechseln.</p>
<h2>Das Volumen der Linie</h2>
<p>Das Volumen der Linie gibt Auskunft über die Verzögerung in ms zum Server, bzw. vom Server. Wenn wir als Beispiel die untere Linie nehmen, wäre es am besten sie wäre Grün und ganz klein unten.</p>
<h2>Wie sieht das Lagometer aus?</h2>
<p><img src="http://img441.imageshack.us/img441/1702/lag1xf6.jpg" alt="Lagometer" /></p>
<h2>Aktivierung</h2>
<p><em>&#8220;Die Informationen sind ja alle schön und gut, aber wie aktiviere ich nun dieses Ding?&#8221;</em> Der Configbefehl für das Lagometer ist &#8220;cg_drawLagometer&#8221;. Die &#8220;1&#8243; hinter diesem Befehl schaltet das Lagometer an und die &#8220;0&#8243; deaktivert es wieder.</p>
]]></content:encoded>
			<wfw:commentRss>http://thexcut.de/2009/1-1-das-lagometer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
