<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://permalink.gmane.org/gmane.games.netrek.devel">
    <title>gmane.games.netrek.devel</title>
    <link>http://permalink.gmane.org/gmane.games.netrek.devel</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.games.netrek.devel/3111"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.games.netrek.devel/3110"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.games.netrek.devel/3109"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.games.netrek.devel/3108"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.games.netrek.devel/3107"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.games.netrek.devel/3106"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.games.netrek.devel/3105"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.games.netrek.devel/3104"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.games.netrek.devel/3103"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.games.netrek.devel/3102"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.games.netrek.devel/3101"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.games.netrek.devel/3100"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.games.netrek.devel/3099"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.games.netrek.devel/3098"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.games.netrek.devel/3097"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.games.netrek.devel/3096"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.games.netrek.devel/3095"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.games.netrek.devel/3094"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.games.netrek.devel/3093"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.games.netrek.devel/3092"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://permalink.gmane.org/gmane.games.netrek.devel/3111">
    <title>Fwd: [paradise] Did everyone give up on paradise?</title>
    <link>http://permalink.gmane.org/gmane.games.netrek.devel/3111</link>
    <description>&lt;pre&gt;---------- Forwarded message ----------
From: Zebediah C. McClure &amp;lt;zmc-bos7FqN+o4OsTnJN9+BGXg&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Date: Thu, May 2, 2013 at 3:00 PM
Subject: Re: [paradise] Did everyone give up on paradise?
To: Zachary Uram &amp;lt;netrek-Re5JQEeQqe8AvxtiuMwx3w&amp;lt; at &amp;gt;public.gmane.org&amp;gt;


Paradise is my favorite client, and one of the rare few that runs great here.

I didnt know the paradise client was open sourced.  Does anyone know
where the source can be had and under what licence?

zmc

On Thu, 2 May 2013 14:27:18 -0400
Zachary Uram &amp;lt;netrek-Re5JQEeQqe8AvxtiuMwx3w&amp;lt; at &amp;gt;public.gmane.org&amp;gt; wrote:



--
Zebediah C. McClure &amp;lt;zmc-bos7FqN+o4OsTnJN9+BGXg&amp;lt; at &amp;gt;public.gmane.org&amp;gt;


&lt;/pre&gt;</description>
    <dc:creator>Zachary Uram</dc:creator>
    <dc:date>2013-05-03T04:31:08</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.games.netrek.devel/3110">
    <title>Re: HTML5 Netrek Lite</title>
    <link>http://permalink.gmane.org/gmane.games.netrek.devel/3110</link>
    <description>&lt;pre&gt;Oops! http://netrek.nodester.com/

I meant .com, not .org!

On Sat, Mar 16, 2013 at 4:16 PM, Zachary Uram &amp;lt;netrek-Re5JQEeQqe8AvxtiuMwx3w&amp;lt; at &amp;gt;public.gmane.org&amp;gt; wrote:

_______________________________________________
netrek-dev mailing list
netrek-dev-kJBlkiJxCS/dtAWm4Da02A&amp;lt; at &amp;gt;public.gmane.org
http://mailman.us.netrek.org/mailman/listinfo/netrek-dev
&lt;/pre&gt;</description>
    <dc:creator>Andrew Sillers</dc:creator>
    <dc:date>2013-03-16T20:19:03</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.games.netrek.devel/3109">
    <title>Re: HTML5 Netrek Lite</title>
    <link>http://permalink.gmane.org/gmane.games.netrek.devel/3109</link>
    <description>&lt;pre&gt;http://netrek.nodester.org/ doesn't work

Server not found

          Firefox can't find the server at netrek.nodester.org.

Zach

On Sat, Mar 16, 2013 at 4:12 PM, Andrew Sillers &amp;lt;apsillers-Re5JQEeQqe8AvxtiuMwx3w&amp;lt; at &amp;gt;public.gmane.org&amp;gt; wrote:



&lt;/pre&gt;</description>
    <dc:creator>Zachary Uram</dc:creator>
    <dc:date>2013-03-16T20:16:42</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.games.netrek.devel/3108">
    <title>Re: HTML5 Netrek Lite</title>
    <link>http://permalink.gmane.org/gmane.games.netrek.devel/3108</link>
    <description>&lt;pre&gt;
Thanks! I think the project the project is now mature enough to get bug
reports. I've been using the issue tracker on Github at
https://github.com/apsillers/html5-netrek/issues, which I think anyone can
write to. If you can't, let me know and I'll see what project settings I
need to change. I'd welcome bug reports, enhancement requests (especially
if it would make it more suitable for newbies), and comments on existing
reports (e.g., on "Improve Explosions" enhancement, a link to good 2D
explosion graphics).

Per your request, I've added in the map border, and I fixed the
update-failure bug.

I've also just added:
* Dynamic resizing so the game fills the whole screen
    * (this needs a little more work because the interface looks too sparse
when at a large size)
* Chat-to-all by default on chat bar click (like COW does)
* Fixed a major phaser bug
* Added steering and aiming pointers while playing with a gamepad

As always, my production code is running at http://netrek.nodester.org, my
proxy-free branch is&lt;/pre&gt;</description>
    <dc:creator>Andrew Sillers</dc:creator>
    <dc:date>2013-03-16T20:12:10</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.games.netrek.devel/3107">
    <title>Re: HTML5 Netrek Lite</title>
    <link>http://permalink.gmane.org/gmane.games.netrek.devel/3107</link>
    <description>&lt;pre&gt;Great stuff Andrew!

Want bug reports? This is unrelated to the new websocket protocol stuff 
probably:
I noticed that the map border is not visible on the map and if you hit 
the northern border (I didn't try the other ones), the local map stops 
updating.

-Sven
&lt;/pre&gt;</description>
    <dc:creator>Sven Neuhaus</dc:creator>
    <dc:date>2013-03-10T10:58:24</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.games.netrek.devel/3106">
    <title>Re: HTML5 Netrek Lite</title>
    <link>http://permalink.gmane.org/gmane.games.netrek.devel/3106</link>
    <description>&lt;pre&gt;Update: I have made a proxy-free branch that assumes the Netrek server is
listening for WebSocket connections on port 16446 and connects directly.
See the demo here: http://apsillers.github.com/html5-netrek/

This is nice because it removes my dependency on Node.js hosting and
instead foists the WS-toTCP proxying onto the Netrek server itself, thereby
eliminating the need for a middle server. The JS code is statically hosted
on Github, and my personal server on netrek.apsillers.com (which I set up
yesterday) is listening on both 2592:tcp as well as 16446:ws by way of
Websockify, used simply with `python websockify.py -D 16445
localhost:2592`. (Note that in a previous message I suggested using C-based
Websockify, but it appears that it hasn't been updated to comply with the
latest WS standard, whereas the Python version has.)

The downside is that the proxy-less version can only connect to servers
that run Websockify (or similar) to listen on a WebSocket port. It might be
possible to build a hybrid system tha&lt;/pre&gt;</description>
    <dc:creator>Andrew Sillers</dc:creator>
    <dc:date>2013-03-05T03:16:14</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.games.netrek.devel/3105">
    <title>Re: HTML5 Netrek Lite</title>
    <link>http://permalink.gmane.org/gmane.games.netrek.devel/3105</link>
    <description>&lt;pre&gt;to deal with(?), so perhaps using something simple yet compact (JSON comes
to mind) would be better

The JavaScript code to create binary Netrek protocol messages is already in
place at https://github.com/apsillers/html5-netrek/blob/master/js/packets.js.
I'll admit it was a bit of a pain to set up, but it's virtually complete
now, so implementing a JSON-to-binary converter wouldn't afford a large
benefit to this particular project. However, it might ease the setup cost
for new developers and new clients (i.e., they could skip the "bit of a
pain to set up" step), so there's certainly some merit to the idea.

(inside WebRTC) once the packets are flowing.

Agreed. The NetrekConnection class (inside net.js) basically does this with
a Websocket-wrapped TCP setup, so I expect it's possible to implement a
WebRTC-wrapped UDP setup.

I feel I should also point out that the Netrek JavaScript and HTML code is
usable outside of a traditional Web browser. I've toyed with a Chrome web
app deployment using Chrome's socket &lt;/pre&gt;</description>
    <dc:creator>Andrew Sillers</dc:creator>
    <dc:date>2013-03-04T23:38:49</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.games.netrek.devel/3104">
    <title>Re: HTML5 Netrek Lite</title>
    <link>http://permalink.gmane.org/gmane.games.netrek.devel/3104</link>
    <description>&lt;pre&gt;
Yes, the original binary Netrek protocol is somewhat difficult to deal
with using today's application languages, and has a few hidden
behaviours that are surprising.

JSON is used by the Gytha Netrek client for maintaining the
achievements data on the user's filesystem.  I picked it for minimum
coding time.

In the context of the network protocol though, JSON is a reasonable
tradeoff between compressibility, coding time, and performance.  It is
a well known format.

But I can't stop thinking of JSON as just another instance of Lisp
s-expressions!  ;-)

A server side protocol translator would not be difficult.  I don't see
any great need to tightly integrate it into the shared memory system
used by ntserv and daemon.

&lt;/pre&gt;</description>
    <dc:creator>James Cameron</dc:creator>
    <dc:date>2013-03-04T11:12:16</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.games.netrek.devel/3103">
    <title>Re: HTML5 Netrek Lite</title>
    <link>http://permalink.gmane.org/gmane.games.netrek.devel/3103</link>
    <description>&lt;pre&gt;Am 02.03.2013 02:40, schrieb Andrew Sillers:

Nice. However, we want to take advantage of WebRTC's capability to use
UDP! I think proxy-wise all we need to support WebRTC would be something
to initiate the UDP peer2peer connection [in this case between the
browser and the netrek server acting as WebRTC endpoint], we could
hopefully reuse most of the normal netrek UDP protocol (inside WebRTC)
once the packets are flowing.

Now, on the client side with JavaScript, the original binary Netrek
protocol is probably a pain to deal with(?), so perhaps using something
simple yet compact (JSON comes to mind) would be better (even at the
cost of higher bandwidth usage).

Any takers? :-)
-Sven
&lt;/pre&gt;</description>
    <dc:creator>Sven Neuhaus</dc:creator>
    <dc:date>2013-03-04T10:31:33</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.games.netrek.devel/3102">
    <title>Re: HTML5 Netrek Lite</title>
    <link>http://permalink.gmane.org/gmane.games.netrek.devel/3102</link>
    <description>&lt;pre&gt;
Sure, real Netrek players will continue to use UDP and the original
protocol.  I'm not talking about them.  Anything I do on this would be
for increasing involvement by new players, and they have no
playability metric in their head.  I don't want the perfect to be the
enemy of the good.


I didn't suggest removing UDP support.

I'll accept patches to add SCTP.

How about UDT?  Includes NAT traversal.

&lt;/pre&gt;</description>
    <dc:creator>James Cameron</dc:creator>
    <dc:date>2013-03-02T07:09:28</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.games.netrek.devel/3101">
    <title>Re: HTML5 Netrek Lite</title>
    <link>http://permalink.gmane.org/gmane.games.netrek.devel/3101</link>
    <description>&lt;pre&gt;

Modern networks may be significantly better, but there's still far too much loss and jitter on the average consumer connection to NOT use UDP for a latency-sensitive game like Netrek. Of course, TCP is and can still be an option if UDP is not available.

Even across a single network, or even a single link, it's hard to get anyone to care unless packet loss is &amp;gt; 0.1% or so, if even that. Those small occasional losses build up, along with last-mile congestion on consumer connections. Netrek starts to suffer at perhaps 0.2 - 0.5% loss if you're using using TCP and depending on retransmits. (Obviously, that's latency-dependent as well, and depends on the structure of the loss.)

The newer frameworks that Sven refers to again just use UDP… So, basically, UDP isn't going anywhere if Netrek is going to be playable for anyone with loss. Unless someone feels like implementing SCTP. :)
&lt;/pre&gt;</description>
    <dc:creator>Karthik Arumugham</dc:creator>
    <dc:date>2013-03-02T05:51:31</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.games.netrek.devel/3100">
    <title>Re: HTML5 Netrek Lite</title>
    <link>http://permalink.gmane.org/gmane.games.netrek.devel/3100</link>
    <description>&lt;pre&gt;
We tend to use Apache at the moment for that.  The server generates an
event blog and player scores to configured HTML directories.


&lt;/pre&gt;</description>
    <dc:creator>James Cameron</dc:creator>
    <dc:date>2013-03-02T02:34:08</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.games.netrek.devel/3099">
    <title>Re: HTML5 Netrek Lite</title>
    <link>http://permalink.gmane.org/gmane.games.netrek.devel/3099</link>
    <description>&lt;pre&gt;Also, I just realized that Websockify can server Web content with the --web
DIR option. This means that (if we want), a Vanilla Netrek server could act
as Web host to serve the HTML5 client and as a Websocket server to directly
handle Websocket traffic from the client.

Incidentally, if you look at http://netrek.nodester.org, I've added the
beginnings of a tutorial. I've included basic moving and shooting controls,
but I've run into the problem that any advanced instruction requires other
people on the server: specifically, getting kills to enable carrying. I
suppose the existing bots could work for this, but it seems regrettable
that I must ask a newbie to score a kill before he can learn about how
winning the game actually works.

I've also added Xbox 360 gamepad support for Chrome in the Github repo
(it's really neat!), but I haven't pushed it to Nodester yet because their
service is on the fritz at the moment.

Andrew


On Fri, Mar 1, 2013 at 8:40 PM, Andrew Sillers &amp;lt;apsillers-Re5JQEeQqe8AvxtiuMwx3w&amp;lt; at &amp;gt;publ&lt;/pre&gt;</description>
    <dc:creator>Andrew Sillers</dc:creator>
    <dc:date>2013-03-02T01:56:04</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.games.netrek.devel/3098">
    <title>Re: HTML5 Netrek Lite</title>
    <link>http://permalink.gmane.org/gmane.games.netrek.devel/3098</link>
    <description>&lt;pre&gt;My proxy is a simple Websocket-to-TCP proxy, which can easily be run on the
same machine as the actual server. The proxy code is largely a reinvention
of Websockify (https://github.com/kanaka/websockify), which I didn't know
about when I started coding this a year ago. Websockify actually would be
perfect for this task. If you look in their Github README, you'll see:

proxy WebSockets traffic to a normal TCP port owned/bound by the program

which means that you could run `./websockify 16446 localhost:2592` on your
server, and now any incoming Websocket traffic will be routed as plain TCP
to port 2592.

I really *should* be using Websockify, because their error-handling support
is much more robust, and it would remove a dependency on Node.js.
(Websockify is plain C, which makes it perfect for packaging alongside the
rest of the server code.) I'll need to rewrite a few things to make the
code play nice with Websockify, but I think I'll do that shortly and get
rid of the need for my custom proxy altogether.

An&lt;/pre&gt;</description>
    <dc:creator>Andrew Sillers</dc:creator>
    <dc:date>2013-03-02T01:40:52</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.games.netrek.devel/3097">
    <title>Re: Mock Server?</title>
    <link>http://permalink.gmane.org/gmane.games.netrek.devel/3097</link>
    <description>&lt;pre&gt;
Not as written, but it would not be difficult.

Look at gytha/client.py and locate each of the three calls to
instance.handler, and make them call something that writes to disk.

Opportunity exists to also write a timing record, for which I suggest
a time since connection or file open.

I think the general problem was solved by COW or cambot recording
years ago, but paging in that code to our respective brains may take
longer.

&lt;/pre&gt;</description>
    <dc:creator>James Cameron</dc:creator>
    <dc:date>2013-03-01T22:56:03</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.games.netrek.devel/3096">
    <title>Re: Mock Server?</title>
    <link>http://permalink.gmane.org/gmane.games.netrek.devel/3096</link>
    <description>&lt;pre&gt;On 2013-01-21 21:07:56 +0000, Bob Tanner said:


Like most of the mock objects I've written my test suite passes with 
flying colors!

BUT

When I point it at a live server I missed a whole bunch of things.

Does gytha allow you to capture the packet stream and just write to the 
disk as binary data?

I want live server stream saved as a file so I can play it over and 
over again as part of the test suite.

&lt;/pre&gt;</description>
    <dc:creator>Bob Tanner</dc:creator>
    <dc:date>2013-03-01T22:23:02</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.games.netrek.devel/3095">
    <title>Re: HTML5 Netrek Lite</title>
    <link>http://permalink.gmane.org/gmane.games.netrek.devel/3095</link>
    <description>&lt;pre&gt;
Agreed.  While UDP was once needed to optimise networks with loss and
reordering problems, modern networks are much better.  So a new
protocol with better compatibility for the web client sandbox
environment would be helpful.  The payload need not change, but the
transport can.

Alternatively, the proxy can be integrated into the server program set.

&lt;/pre&gt;</description>
    <dc:creator>James Cameron</dc:creator>
    <dc:date>2013-03-01T22:17:22</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.games.netrek.devel/3094">
    <title>Re: HTML5 Netrek Lite</title>
    <link>http://permalink.gmane.org/gmane.games.netrek.devel/3094</link>
    <description>&lt;pre&gt;Hi Andrew et al,

this project is highly interesting. With the advent of WebRTC and
RTCDatachannel browsers can now use UDP peer2peer communication, which
will be a great boost for lag sensitive games such as netrek.

It would be even better if we had an alternative protocol for netrek
(that the server also understands) so that no proxy is necessary for web
clients.

-Sven
&lt;/pre&gt;</description>
    <dc:creator>Sven Neuhaus</dc:creator>
    <dc:date>2013-03-01T13:49:05</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.games.netrek.devel/3093">
    <title>Re: Mock Server?</title>
    <link>http://permalink.gmane.org/gmane.games.netrek.devel/3093</link>
    <description>&lt;pre&gt;I don't recall, sorry.

Like any good test case code, the best way would be to write something
to inject every possible value into every packet.  I would be
interested in re-using this with the two clients I maintain.

&lt;/pre&gt;</description>
    <dc:creator>James Cameron</dc:creator>
    <dc:date>2013-01-21T21:38:31</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.games.netrek.devel/3092">
    <title>Mock Server?</title>
    <link>http://permalink.gmane.org/gmane.games.netrek.devel/3092</link>
    <description>&lt;pre&gt;Working on my 3rd evolution of an objective-c network library for 
netrek. This one feels right. But I want to finish writing my test 
suite. Is there a way to simulate (mock object) the server?

I'd like a way to control the packets sent to my network library so I 
can test it.

Vaguely recall James talking about something like this.

Thanks.

&lt;/pre&gt;</description>
    <dc:creator>Bob Tanner</dc:creator>
    <dc:date>2013-01-21T21:07:56</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.games.netrek.devel/3091">
    <title>Re: HTML5 Netrek Lite</title>
    <link>http://permalink.gmane.org/gmane.games.netrek.devel/3091</link>
    <description>&lt;pre&gt;G'day Andrew,

I gave it another try just then.

Can you tell me how I can set up my own instance so that I can make
code changes?

I like the context sensitive buttons.

The Quick Find didn't stop happening, but the app did get the
keystrokes eventually.

I think the Quick Start guide should be more obvious.  Tab won't be
communicated easily.

On Sat, Nov 24, 2012 at 11:32:17PM -0500, Andrew Sillers wrote:

&lt;/pre&gt;</description>
    <dc:creator>James Cameron</dc:creator>
    <dc:date>2012-12-01T02:35:41</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.games.netrek.devel">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.games.netrek.devel</link>
  </textinput>
</rdf:RDF>
