<?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>HackDevDotCom &#187; Game Server</title>
	<atom:link href="http://hackdev.com/category/roll-your-own/game-server/feed/" rel="self" type="application/rss+xml" />
	<link>http://hackdev.com</link>
	<description>Hacked Development</description>
	<lastBuildDate>Wed, 25 Jan 2012 23:58:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>A few changes&#8230;</title>
		<link>http://hackdev.com/2011/01/changes/</link>
		<comments>http://hackdev.com/2011/01/changes/#comments</comments>
		<pubDate>Mon, 10 Jan 2011 18:44:46 +0000</pubDate>
		<dc:creator>Gues7</dc:creator>
				<category><![CDATA[Fixes / Patches]]></category>
		<category><![CDATA[Game Server]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Roll your own:]]></category>

		<guid isPermaLink="false">http://hackdev.com/?p=269</guid>
		<description><![CDATA[Howdy folks, firstly, there has been a lot of 3rd party development going on in relation to the black ops RCON tool, but none of it was by me. In fact, I found the game so infuriatingly laggy that I &#8230; <a href="http://hackdev.com/2011/01/changes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Howdy folks, firstly, there has been a lot of 3rd party development going on in relation to the black ops RCON tool, but none of it was by me. In fact, I found the game so infuriatingly laggy that I canceled my server so I no longer have anything to test on, as a result I have lost interest in the project and have closed the github repo; however, I will post the code here so anyone who wants it can take it and use it, do what ever you like with it under the MIT license.</p>
<p>RCON Source Code available <a title="http://hackdev.com/2011/01/changes/cod-bo_rcon/" href="http://hackdev.com/2011/01/changes/cod-bo_rcon/">here</a>.</p>
<p>I am also unemployed now <img src='http://hackdev.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  IMHO it was a great move, as it will allow me to have a break from doing anything really for the first time since I started school when I was 4 or 5&#8230; it has also given me the push I needed to go back to college and train myself up .</p>
<p>I have been working on a few projects now too with my increase in available time, however I&#8217;m not going to say much about them at the moment in case I don&#8217;t finish em.</p>
]]></content:encoded>
			<wfw:commentRss>http://hackdev.com/2011/01/changes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Updated Black Ops RCON</title>
		<link>http://hackdev.com/2010/11/updated-black-ops-rcon/</link>
		<comments>http://hackdev.com/2010/11/updated-black-ops-rcon/#comments</comments>
		<pubDate>Sun, 14 Nov 2010 16:39:50 +0000</pubDate>
		<dc:creator>Gues7</dc:creator>
				<category><![CDATA[Fixes / Patches]]></category>
		<category><![CDATA[Game Server]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Roll your own:]]></category>

		<guid isPermaLink="false">http://hackdev.com/?p=233</guid>
		<description><![CDATA[Hey folks, this is just a quick update to let you know I have still been working on this&#8230; as it stands I have implemented two functions which work, and one which doesn&#8217;t. Slowly but surely I will be adding &#8230; <a href="http://hackdev.com/2010/11/updated-black-ops-rcon/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hey folks, this is just a quick update to let you know I have still been working on this&#8230; as it stands I have implemented two functions which work, and one which doesn&#8217;t. Slowly but surely I will be adding more and more functionality&#8230; unfortunately I don&#8217;t have RCON access to an unranked server at the moment, would anyone like to oblige me on that? <img src='http://hackdev.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I would also like to mention at this point, that I have not looked into causing errors on the RCON, ie invalid logins etc&#8230; so be warned, while most of this should work, I cannot and will not guarantee it. Also, it is written for Python 2.6, not 3.whatever&#8230; I will be getting a few more people on board to help with this soon and we will be cleaning it up, adding error handling etc&#8230;</p>
<p>Anyways, here is what you have all been waiting for&#8230;.</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">#!/usr/bin/python</span>
&nbsp;
<span style="color: #483d8b;">''</span><span style="color: #483d8b;">'
_______               ________      .___
<span style="color: #000099; font-weight: bold;">\ </span>  _  <span style="color: #000099; font-weight: bold;">\_</span>_  _  ______ <span style="color: #000099; font-weight: bold;">\_</span>____  <span style="color: #000099; font-weight: bold;">\ </span>  __| _/
/  /_<span style="color: #000099; font-weight: bold;">\ </span> <span style="color: #000099; font-weight: bold;">\ </span><span style="color: #000099; font-weight: bold;">\/</span> <span style="color: #000099; font-weight: bold;">\/</span> /    <span style="color: #000099; font-weight: bold;">\ </span> _(__  &amp;lt;  / __ |
<span style="color: #000099; font-weight: bold;">\ </span> <span style="color: #000099; font-weight: bold;">\_</span>/   <span style="color: #000099; font-weight: bold;">\ </span>    /   |  <span style="color: #000099; font-weight: bold;">\/</span>       <span style="color: #000099; font-weight: bold;">\/</span> /_/ |
 <span style="color: #000099; font-weight: bold;">\_</span>____  /<span style="color: #000099; font-weight: bold;">\/</span><span style="color: #000099; font-weight: bold;">\_</span>/|___|  /______  /<span style="color: #000099; font-weight: bold;">\_</span>___ |
       <span style="color: #000099; font-weight: bold;">\/</span>           <span style="color: #000099; font-weight: bold;">\/</span>       <span style="color: #000099; font-weight: bold;">\/</span>      <span style="color: #000099; font-weight: bold;">\/</span>
                    http://hackdev.com
&nbsp;
Author:
    Steven from hackdev.com
&nbsp;
File History:
    09/11/10:
        [+] Initial Inception. Proof of concept written entirely inline that
            allows for a single hard coded command to be sent to the server.
&nbsp;
    10/11/10:
        [+] Creation of functions to handle the sending and receiving of commands.
        [+] Added the ability for users to change passwords in the configuration
            section of the script.
        [+] Broke commands, preambles etc... into variables for easier use &amp;amp; modification.
        [+] Added comments, previous code did not contain comments. ** Important **
    14/11/10:
        [+] Added command boGetPlayerList
        [+] Added command boSayToServer
        [+] Added command boSayToPlayer
        [+] Figured out that not everything has to be done in <span style="color: #000099; font-weight: bold;">\x</span>68<span style="color: #000099; font-weight: bold;">\x</span>65<span style="color: #000099; font-weight: bold;">\x</span>78
&nbsp;
'</span><span style="color: #483d8b;">''</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">socket</span>       <span style="color: #808080; font-style: italic;">#Used for creating the UDP sockets</span>
&nbsp;
<span style="color: #808080; font-style: italic;">#-----------------------------------------------------------------------------------</span>
<span style="color: #808080; font-style: italic;">#   User Configurable Options</span>
<span style="color: #808080; font-style: italic;">#-----------------------------------------------------------------------------------</span>
&nbsp;
boHost          = <span style="color: #483d8b;">&quot;&quot;</span>      <span style="color: #808080; font-style: italic;">#The server IP</span>
boPort          = <span style="color: #ff4500;">3074</span>                  <span style="color: #808080; font-style: italic;">#The server Port</span>
boPassword      = <span style="color: #483d8b;">&quot;&quot;</span>              <span style="color: #808080; font-style: italic;">#The RCON Password</span>
&nbsp;
<span style="color: #808080; font-style: italic;">#-----------------------------------------------------------------------------------</span>
<span style="color: #808080; font-style: italic;">#   End User Configurable Options</span>
<span style="color: #808080; font-style: italic;">#-----------------------------------------------------------------------------------</span>
&nbsp;
svrAddress = <span style="color: black;">&#40;</span>boHost, boPort<span style="color: black;">&#41;</span>           <span style="color: #808080; font-style: italic;">#Used to create a tuple of host &amp;amp; port</span>
&nbsp;
<span style="color: #808080; font-style: italic;">#-----------------------------------------------------------------------------------</span>
<span style="color: #808080; font-style: italic;">#   Command Definitions, sorry about the variables :(</span>
<span style="color: #808080; font-style: italic;">#-----------------------------------------------------------------------------------</span>
<span style="color: #ff7700;font-weight:bold;">global</span> cmdPreamble
cmdPreamble  = <span style="color: #483d8b;">&quot;<span style="color: #000099; font-weight: bold;">\x</span>ff<span style="color: #000099; font-weight: bold;">\x</span>ff<span style="color: #000099; font-weight: bold;">\x</span>ff<span style="color: #000099; font-weight: bold;">\x</span>ff<span style="color: #000099; font-weight: bold;">\x</span>00&quot;</span>                       <span style="color: #808080; font-style: italic;">#Preamble used to prefix the packet</span>
<span style="color: #ff7700;font-weight:bold;">global</span> cmdSeporator
cmdSeporator = <span style="color: #483d8b;">&quot;<span style="color: #000099; font-weight: bold;">\x</span>20&quot;</span>                                       <span style="color: #808080; font-style: italic;">#Seporator used between password &amp;amp; command</span>
<span style="color: #ff7700;font-weight:bold;">global</span> cmdPostamble
cmdPostamble = <span style="color: #483d8b;">&quot;<span style="color: #000099; font-weight: bold;">\0</span>0&quot;</span>                                        <span style="color: #808080; font-style: italic;">#Ending of the packet, end of command</span>
&nbsp;
<span style="color: #808080; font-style: italic;">#-----------------------------------------------------------------------------------</span>
<span style="color: #808080; font-style: italic;">#   Socket Generation</span>
<span style="color: #808080; font-style: italic;">#-----------------------------------------------------------------------------------</span>
udpSock = <span style="color: #dc143c;">socket</span>.<span style="color: #dc143c;">socket</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">socket</span>.<span style="color: black;">AF_INET</span>, <span style="color: #dc143c;">socket</span>.<span style="color: black;">SOCK_DGRAM</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">#-----------------------------------------------------------------------------------</span>
<span style="color: #808080; font-style: italic;">#   Function used to send commands to the server, function returns the</span>
<span style="color: #808080; font-style: italic;">#   data returned from the query, unformatted...</span>
<span style="color: #808080; font-style: italic;">#-----------------------------------------------------------------------------------</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> boSendCommand<span style="color: black;">&#40;</span>boCommand, boArgument=<span style="color: #ff4500;">0</span>, recvBufferSize=<span style="color: #ff4500;">4096</span><span style="color: black;">&#41;</span>:
    <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #ff7700;font-weight:bold;">not</span> boArgument:
        commandBuffer = cmdPreamble + boPassword + cmdSeporator + boCommand + cmdPostamble
    <span style="color: #ff7700;font-weight:bold;">else</span>:
        commandBuffer = cmdPreamble + boPassword + cmdSeporator + boCommand + cmdSeporator + boArgument + cmdPostamble
    boSentBytes = udpSock.<span style="color: black;">sendto</span><span style="color: black;">&#40;</span>commandBuffer, svrAddress<span style="color: black;">&#41;</span>     <span style="color: #808080; font-style: italic;">#Send the data to the server</span>
    <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: black;">&#40;</span>boSentBytes <span style="color: #66cc66;">&amp;</span>lt<span style="color: #66cc66;">;</span> <span style="color: #008000;">len</span><span style="color: black;">&#40;</span>commandBuffer<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>:                      <span style="color: #808080; font-style: italic;">#Check the num of bytes sent</span>
        <span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;An error was encountered while sending the command %s&quot;</span>, boCommand<span style="color: black;">&#41;</span>
    boRecvBuffer = udpSock.<span style="color: black;">recv</span><span style="color: black;">&#40;</span>recvBufferSize<span style="color: black;">&#41;</span>                 <span style="color: #808080; font-style: italic;">#Receive the data returned</span>
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #008000;">len</span><span style="color: black;">&#40;</span>boRecvBuffer<span style="color: black;">&#41;</span> <span style="color: #66cc66;">&amp;</span>gt<span style="color: #66cc66;">;</span> <span style="color: #ff4500;">0</span>:                                   <span style="color: #808080; font-style: italic;">#Check to ensure there is something</span>
        <span style="color: #ff7700;font-weight:bold;">return</span> boRecvBuffer                                     <span style="color: #808080; font-style: italic;">#Return the buffer</span>
    <span style="color: #ff7700;font-weight:bold;">else</span>:
        <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #ff4500;">0</span>                                                <span style="color: #808080; font-style: italic;">#If theres nothing, return 0</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> boGetPlayerList<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:
    playerlist = boSendCommand<span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;teamstatus&quot;</span><span style="color: black;">&#41;</span>
    <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #ff7700;font-weight:bold;">not</span> playerlist:
        <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #ff4500;">0</span>
    <span style="color: #ff7700;font-weight:bold;">else</span>:
        <span style="color: #ff7700;font-weight:bold;">return</span> playerlist
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> boSayToServer<span style="color: black;">&#40;</span>message<span style="color: black;">&#41;</span>:
    <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #ff7700;font-weight:bold;">not</span> message:
        <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #ff4500;">0</span>
    <span style="color: #ff7700;font-weight:bold;">else</span>:
        servermessage = boSendCommand<span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;say&quot;</span>, <span style="color: #483d8b;">'&quot;'</span> + message + <span style="color: #483d8b;">'&quot;'</span><span style="color: black;">&#41;</span>
        <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #ff7700;font-weight:bold;">not</span> servermessage:
            <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #ff4500;">0</span>
        <span style="color: #ff7700;font-weight:bold;">else</span>:
            <span style="color: #ff7700;font-weight:bold;">return</span> servermessage
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> boSayToPlayer<span style="color: black;">&#40;</span>message, playerID<span style="color: black;">&#41;</span>:
    <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #ff7700;font-weight:bold;">not</span> message <span style="color: #ff7700;font-weight:bold;">or</span> <span style="color: #ff7700;font-weight:bold;">not</span> playerID:
        <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #ff4500;">0</span>
    <span style="color: #ff7700;font-weight:bold;">else</span>:
        playermessage = boSendCommand<span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;tell&quot;</span>, playerID + <span style="color: #483d8b;">&quot;<span style="color: #000099; font-weight: bold;">\x</span>20&quot;</span> + <span style="color: #483d8b;">'&quot;'</span> + message + <span style="color: #483d8b;">'&quot;'</span><span style="color: black;">&#41;</span>
        <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #ff7700;font-weight:bold;">not</span> playermessage:
            <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #ff4500;">0</span>
        <span style="color: #ff7700;font-weight:bold;">else</span>:
            <span style="color: #ff7700;font-weight:bold;">return</span> playermessage
&nbsp;
<span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Playerlist&quot;</span><span style="color: black;">&#41;</span>
myPlayerList = boGetPlayerList<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span>myPlayerList<span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Server Message&quot;</span><span style="color: black;">&#41;</span>
myServerMessage = boSayToServer<span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Testing!&quot;</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span>myServerMessage<span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Player Message&quot;</span><span style="color: black;">&#41;</span>
myPlayerMessage = boSayToPlayer<span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Testing 123&quot;</span>, <span style="color: #483d8b;">&quot;1&quot;</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span>myPlayerMessage<span style="color: black;">&#41;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://hackdev.com/2010/11/updated-black-ops-rcon/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Call Of Duty : Black Ops RCON Hacked! Kinda&#8230;</title>
		<link>http://hackdev.com/2010/11/call-of-duty-black-ops-cracked/</link>
		<comments>http://hackdev.com/2010/11/call-of-duty-black-ops-cracked/#comments</comments>
		<pubDate>Tue, 09 Nov 2010 02:40:31 +0000</pubDate>
		<dc:creator>Gues7</dc:creator>
				<category><![CDATA[Fixes / Patches]]></category>
		<category><![CDATA[Game Server]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Roll your own:]]></category>

		<guid isPermaLink="false">http://hackdev.com/?p=221</guid>
		<description><![CDATA[Yes, thats right folks, following a bit of a hacking session with the CoD:BO RCON client and wireshark, I now have some Python code that is capable of logging into the RCON on a CoD:BO server! AFAIK, I am the &#8230; <a href="http://hackdev.com/2010/11/call-of-duty-black-ops-cracked/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Yes, thats right folks, following a bit of a hacking session with the CoD:BO RCON client and wireshark, I now have some Python code that is capable of logging into the RCON on a CoD:BO server!</p>
<p>AFAIK, I am the first person in the world outside of treyarch to have done this and I have elected to share this with all of you, it may not be clean, and it may not be fancy&#8230; but damn it it works! (Its late and I haven&#8217;t slept&#8230;) Please keep in mind that the hostname and login message have been removed from the script as they contain identifiable information for my server. Enjoy this, and happy hacking! &#8211; I would also like to point out I wouldn&#8217;t have done this, at least as quickly, if it wasn&#8217;t for Ajurna of the mighty IrishPirates!</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">#</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">socket</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">string</span>
&nbsp;
boHost = <span style="color: #483d8b;">&quot;&quot;</span>
boPort = <span style="color: #ff4500;">3074</span>
boAddr = <span style="color: black;">&#40;</span>boHost, boPort<span style="color: black;">&#41;</span>
&nbsp;
boLoginMsg = <span style="color: #483d8b;">&quot;<span style="color: #000099; font-weight: bold;">\x</span>ff<span style="color: #000099; font-weight: bold;">\x</span>ff<span style="color: #000099; font-weight: bold;">\x</span>ff<span style="color: #000099; font-weight: bold;">\x</span>ff<span style="color: #000099; font-weight: bold;">\x</span>00___OMITTED____<span style="color: #000099; font-weight: bold;">\x</span>20<span style="color: #000099; font-weight: bold;">\x</span>64<span style="color: #000099; font-weight: bold;">\x</span>76<span style="color: #000099; font-weight: bold;">\x</span>61<span style="color: #000099; font-weight: bold;">\x</span>72<span style="color: #000099; font-weight: bold;">\x</span>6c<span style="color: #000099; font-weight: bold;">\x</span>69<span style="color: #000099; font-weight: bold;">\x</span>73<span style="color: #000099; font-weight: bold;">\x</span>74<span style="color: #000099; font-weight: bold;">\x</span>00&quot;</span>
&nbsp;
udpSock = <span style="color: #dc143c;">socket</span>.<span style="color: #dc143c;">socket</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">socket</span>.<span style="color: black;">AF_INET</span>, <span style="color: #dc143c;">socket</span>.<span style="color: black;">SOCK_DGRAM</span><span style="color: black;">&#41;</span>
boSentBytes = udpSock.<span style="color: black;">sendto</span><span style="color: black;">&#40;</span>boLoginMsg, boAddr<span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: black;">&#40;</span>boSentBytes <span style="color: #66cc66;">&lt;</span> <span style="color: #008000;">len</span><span style="color: black;">&#40;</span>boLoginMsg<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>:
    <span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Message not sent...&quot;</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">else</span>:
    <span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Message sent...&quot;</span><span style="color: black;">&#41;</span>
&nbsp;
boRecv = udpSock.<span style="color: black;">recv</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">4096</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #008000;">len</span><span style="color: black;">&#40;</span>boRecv<span style="color: black;">&#41;</span> <span style="color: #66cc66;">&gt;</span> <span style="color: #ff4500;">0</span>:
    <span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Received &quot;</span>, boRecv<span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">else</span>:
    <span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Received Nothing...&quot;</span><span style="color: black;">&#41;</span>
&nbsp;
udpSock.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
fileHandler = <span style="color: #008000;">open</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;out.txt&quot;</span>, <span style="color: #483d8b;">&quot;w&quot;</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #66cc66;">&gt;&gt;</span> fileHandler, boRecv</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://hackdev.com/2010/11/call-of-duty-black-ops-cracked/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Roll your Own: CS:S Server (Part 3)</title>
		<link>http://hackdev.com/2009/05/roll-your-own-css-server-part-3/</link>
		<comments>http://hackdev.com/2009/05/roll-your-own-css-server-part-3/#comments</comments>
		<pubDate>Fri, 01 May 2009 21:08:58 +0000</pubDate>
		<dc:creator>Gues7</dc:creator>
				<category><![CDATA[Game Server]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Roll your own:]]></category>

		<guid isPermaLink="false">http://hackdev.com/?p=41</guid>
		<description><![CDATA[Ok, so from Part 1 and Part 2, you should now have a working Counter-Strike:Source server up and running, with Mani-Admin for your administration. Here is how to get MetaMod Source installed&#8230; this is going to be a really simple &#8230; <a href="http://hackdev.com/2009/05/roll-your-own-css-server-part-3/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ok, so from <a href="http://hackdev.com/?p=9">Part 1</a> and <a href="http://hackdev.com/?p=30">Part 2</a>, you should now have a working Counter-Strike:Source server up and running, with Mani-Admin for your administration. Here is how to get MetaMod Source installed&#8230; this is going to be a really simple quick one to go on&#8230;</p>
<blockquote><p># cd /&lt;yourserver&gt;/cstrike/addons<br />
# wget http://sourcemod.steamfriends.com/files/mmsource-1.7.1.tar.gz<br />
# tar -zxvf mmsource-1.7.1.tar.gz<br />
# rm mmsource-1.7.1.tar.gz</p></blockquote>
<p>Ok, now we have MetaMod downloaded and extracted into the correct directory, last thing we need to do is create a VDF file to load it, MetaMod have a great VDF generator here or you can do the following&#8230;</p>
<blockquote><p># touch metamod.vdf<br />
# pico metamod.vdf</p></blockquote>
<p>Once in pico, paste the following text in ([shift]+[insert]), save with [ctrl]+o and exit with [ctrl]+x</p>
<blockquote><p>&#8220;Plugin&#8221;<br />
{<br />
&#8220;file&#8221;	&#8220;../cstrike/addons/metamod/bin/server_i486.so&#8221;<br />
}</p></blockquote>
<p>You can now restart your server and double check that MetaMod is running by typing &#8220;meta version&#8221; into the console. All done!</p>
]]></content:encoded>
			<wfw:commentRss>http://hackdev.com/2009/05/roll-your-own-css-server-part-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Roll your Own: CS:S Server (Part 2)</title>
		<link>http://hackdev.com/2009/04/roll-your-own-css-server-part-2/</link>
		<comments>http://hackdev.com/2009/04/roll-your-own-css-server-part-2/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 21:05:58 +0000</pubDate>
		<dc:creator>Gues7</dc:creator>
				<category><![CDATA[Game Server]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Roll your own:]]></category>

		<guid isPermaLink="false">http://hackdev.com/?p=30</guid>
		<description><![CDATA[Ok, so from the last section of this you should have a working Counter-Strike:Source server up and running, just to make this a little bit easier on the admins, now we&#8217;re going to install Mani Admin Plugin. The first thing &#8230; <a href="http://hackdev.com/2009/04/roll-your-own-css-server-part-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ok, so from the <a href="http://hackdev.com/?p=9">last section</a> of this you should have a working Counter-Strike:Source server up and running, just to make this a little bit easier on the admins, now we&#8217;re going to install Mani Admin Plugin. The first thing your going to need is <a href="http://www.mani-admin-plugin.com/" target="_blank">Mani Admin Plugin</a> it&#8217;s self&#8230;</p>
<blockquote><p># wget http://www.mani-admin-plugin.com/mani_admin_plugin/v1_2_beta_s/mani_admin_plugin_v1_2_beta_s.zip<br />
# unzip mani_admin_plugin_v1_2_beta_s.zip</p></blockquote>
<p>Once that&#8217;s done, you can move the files from the newly extracted directory to your ./&lt;server&gt;/cstrike directory as follows</p>
<blockquote><p># mv -R addons /&lt;yourserver&gt;/cstrike<br />
# mv -R cfg/&lt;yourserver&gt;/cstrike<br />
# mv -R materials/&lt;yourserver&gt;/cstrike<br />
# mv -R sound /&lt;yourserver&gt;/cstrike</p></blockquote>
<p>The next step is to add &#8220;exec mani_server.cfg&#8221; into your own server.cfg</p>
<blockquote><p># echo &#8220;exec mani_server.cfg &gt;&gt; /yourserver/cstrike/cfg/server.cfg&#8221;</p></blockquote>
<p>Finally, we need to get mani running as an addon each time your server starts, the best way to do this is to create a mani_admin_plugin.vdf in /yourserver/cstrike/addons and add the following text to it.</p>
<blockquote><p>&#8220;Plugin&#8221;<br />
{<br />
&#8220;file&#8221; &#8220;../cstrike/addons/mani_admin_plugin&#8221;<br />
}</p></blockquote>
<p>Mani should now be installed and running, the final steps is to add yourself to the /yourserver/cstrike/cfg/mani_admin_plugin/clients.txt file, this however I will not cover. All of the information on how to do this, in various different ways is available <a href="http://www.mani-admin-plugin.com/index.php?option=com_content&amp;task=view&amp;id=24&amp;Itemid=25" target="_blank">here</a>.</p>
<p>Just so you know, I am currently working on a script that will allow for the automatic installation of ANY of the linux based Steam game servers just by answering a few questions. I&#8217;ll keep you posted on my progress with this.</p>
]]></content:encoded>
			<wfw:commentRss>http://hackdev.com/2009/04/roll-your-own-css-server-part-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Roll your Own: CS:S Server</title>
		<link>http://hackdev.com/2009/04/roll-your-own-css-server/</link>
		<comments>http://hackdev.com/2009/04/roll-your-own-css-server/#comments</comments>
		<pubDate>Thu, 16 Apr 2009 17:41:21 +0000</pubDate>
		<dc:creator>Gues7</dc:creator>
				<category><![CDATA[Game Server]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Roll your own:]]></category>

		<guid isPermaLink="false">http://hackdev.com/?p=9</guid>
		<description><![CDATA[*** UPDATE: Fixed some typo&#8217;s in the commands *** This is how to set up a CS:S server on Ubuntu Linux. This is not a definitive guide, it is simply how I have done it. I have omitted some security &#8230; <a href="http://hackdev.com/2009/04/roll-your-own-css-server/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>*** UPDATE: Fixed some typo&#8217;s in the commands ***</p>
<p>This is how to set up a CS:S server on Ubuntu Linux. This is not a definitive guide, it is simply how I have done it. I have omitted some security precautions here as my server will not be going live online, and is only used for testing things in-house.</p>
<p>NOTE: lines of text preceded with a # symbol should be entered into a terminal.</p>
<p>First of all, you are going to need the <a href="http://www.steampowered.com/download/hldsupdatetool.bin">HLDS tool</a> from Steam, this is what allows us to get all of the required game files and update the server etc&#8230;</p>
<blockquote><p># wget http://www.steampowered.com/download/hldsupdatetool.bin<br />
# chmod +x hldsupdatetool.bin<br />
# ./hldsupdatetool.bin<br />
# ./steam</p></blockquote>
<p>This will download the hlds tool, make it executable, extract the steam tool, and update the steam tool. We now have everything required to get ready to install. The next step is to create somewhere for the server to go, and get all of the required files.</p>
<blockquote><p># mkdir CSS1<br />
# ./steam -command update -game &#8220;Counter-Strike Source&#8221; -dir ./CSS1</p></blockquote>
<p>This will begin the download of your new CS:S server, this can take some time and varies greatly depending on your download speed. At this point, you can consider what addons and configuration you want to use on your server, a handy tool I came across for the configuration files is available <a href="http://www.cstrike-planet.com/cfgmaker?cfg=srcds" target="_blank">here</a>. Once your CS:S server has finished installing, you can launch it by doing the following&#8230;</p>
<blockquote><p># cd CSS1<br />
# ./srcds_run -console -game cstrike +map cs_office +maxplayers 16 -tickrate 66 -autoupdate -ip 192.168.0.100</p></blockquote>
<p>The above command assumes the following, you want to play cs_office with the possibility of hosting 16 players on a 66 tick server who&#8217;s IP is 192.168.0.100, adjust these values to suit your own requirements.</p>
<p>Congratulations, you should now have a working CS:S server, but its not much fun without some plugins, so we&#8217;re gonna grab and configure Mani Admin Plugin and Eventscripts to throw on there for some easy administration and fun games. This will be continued in <a href="http://hackdev.com/?p=30">part 2</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://hackdev.com/2009/04/roll-your-own-css-server/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

