Zachary Uram | 3 May 2013 06:31
Picon

Fwd: [paradise] Did everyone give up on paradise?

---------- Forwarded message ----------
From: Zebediah C. McClure <zmc@...>
Date: Thu, May 2, 2013 at 3:00 PM
Subject: Re: [paradise] Did everyone give up on paradise?
To: Zachary Uram <netrek@...>

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 <netrek@...> wrote:

> I am still interested.
>
> Zach
>
>
> On Thu, May 2, 2013 at 11:13 AM, Erick Robertson <vir4030@...> wrote:
> > No idea, but is there still interest after 5 years?
> >
> > ________________________________
> > From: Zachary Uram <netrek@...>
> > To: paradise-workers@...
> > Sent: Wednesday, May 1, 2013 2:42 AM
> > Subject: Re: [paradise] Did everyone give up on paradise?
> >
(Continue reading)

Bob Tanner | 21 Jan 2013 22:07

Mock Server?

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.

--

-- 
Bob Tanner <basic@...>          
Key fingerprint = 9906 320A 8BB6 64AD 96A7  7785 CBFB 10BF 568B F98C
Andrew Sillers | 19 Nov 2012 04:33
Picon
Gravatar

HTML5 Netrek Lite

Hello all,

I've been hard at work on the HTML5 Netrek client, online at http://trekproxy.nodester.com (and source at https://github.com/apsillers/html5-netrek). I have made massive improvements to the game's performance and usability (indeed, while I was testing on Continuum, I found myself playing several full rounds of pre-T). Since my last update in April, I have added:

- login screen with server selection
- speed indicator (settable with mouse, too -- I was hoping to make this playable on a tablet someday)
- engine temp indicator
- cloaking
- repair/fuel/army planet indicators
- phasers (visually a little messy, but they're there)
- defensive torp detonation
- incoming chat (no outgoing yet; not pretty)
- army transport (untested, but I think it should work)

When you try it out, know that sometimes the outfitting screen does not work and you need to refresh the page. This happens very rarely, and I am working on a fix. There's also a "bug" where you get ghost busted after 20-30 seconds of inactivity, which will disappear as soon as I get pings working.

But enough about present. Let's talk about THE FUTURE:

Sadly, I must focus my attention to other projects and cannot continue regular development on the client (until at least next year, probably). There's a lot of work to do before this can be a fully-fledged client (explosion animations, tractors, pressors, key mapping, alliances, to name a few) but I think this client could be a kind of "Netrek Lite" that new prospective players could play in-browser, to sample the game without having to download and install a native client application.

My question to all of you is: what's the best way to go about it? I don't have time to integrate a dynamic tutorial into the game, but I could make an on-page static tutorial ("Once you set course back toward Earth, go to the next lesson...") with paged, incremental lessons. The main question is whether to use a separate server for learning (a quiet server is good for learning to drive, but not combat; a hot server might keep you from following the tutorial due to unexpected combat).

Similarly, what functionality is missing right now that you feel is *critical* to learning to play and/or keeping a prospective player interested? I can give this project a few more solid hours of effort, so please let me know how I should spend them. For example, I could probably implement tractors and pressors, or I could clean up the phaser animation, or I could ensure chat works cleanly, but I can only do so much. I need some discussion of what you think is most important. Rearranging and resizing the elements on the screen (world, galactic, chat) is easiest (and probably most important, since right now the chat is very awkwardly placed) -- that would take only a matter of minutes, once I decided where to place everything.

Finally, if I am going to use a static tutorial, I need someone to either 1) draft out the tutorial text, or at least 2) propose a lesson plan that I could flesh out into a set of tutorial pages.

What say you, mailing list?

--Andrew

P.S. I've only really tested the client on Ubuntu Firefox, so let me know if you find any big browser compatibility bugs. If your browser supports canvas and Websockets (and even those are technically optional) and you find a problem, let me know.

_______________________________________________
netrek-dev mailing list
netrek-dev@...
http://mailman.us.netrek.org/mailman/listinfo/netrek-dev
Michael Bax | 6 Oct 2012 11:46
Picon

Re: Client connection: State?

Hi James and Bob

> > The only thing I don't quite understand is how sp_table is used
> > without triggering an error "UnboundLocalError: local variable
> > 'sp_table' referenced before assignment", but it works.
>
> Don't understand this either. Sure looks like you are referencing it
> before assigning it.
>
> There seems to be some sort of python magic happening in client.py with
> the self.sp.find(p_type).
>
> Don't understand how the object address is known when you invoke sp.find().

I hope this helps:

    1. Python processes __init__.py first.
    2. Line 2724: sp_table is initialized as global to __init__.py
    3. Lines 2739–53: ServerPacket.__new__ is called to create class type SP 
    4.     Line 2728:    The SP class type is actually created
    5.     Line 2731–33: An instance of class SP is added to global sp_table
    6.     Line 2735:    That instance is aliased as the global variable sp
    7. Lines 2756+: Subclass types SP_* are likewise created
    …
    8. Line 5105: Client class is instantiated, passing SP instance alias sp
    …
    9. Line 2748: When Client nt calls self.sp.find, the packet type number
                  is looked up in global sp_table and the corresponding
                  tuple ( size, instance ) is returned.

There does not actually seem to be any reason for find to be a class member; Client only needs the function.  It
looks as though it might be simpler for sp_table to be collections.defaultdict( lambda: ( None, None ) )
which is passed to Client instead of sp.

Cheers
Michael
_______________________________________________
netrek-dev mailing list
netrek-dev <at> us.netrek.org
http://mailman.us.netrek.org/mailman/listinfo/netrek-dev
James Cameron | 22 Sep 2012 10:40

Gytha play testing needed

G'day,

I'm looking for play testers for changes to the Gytha client that I've
made in the past few days.  Testing is needed in the next four days.

These changes add a client-side achievement-unlocked dialog for a set
of early learning achievements, for players who have never seen the
game before.  These are tracked per-user in their home directory.

An experienced player will find these _very_ annoying, so you have to
use the command-line flag --ubertweak when starting the game.

A new key "A" is set up for showing the achievement progress.

The achievements in suggested learning order are:

    'Started',
    'Using Help',
    'Using Keyboard Help',
    'Using Information',
    'Using the Galactic Map',
    'Moving',
    'Turning',
    'Planet Lock',
    'Orbit',
    'Bombing',
    'Shields Lowered',
    'Phaser Hit',
    'Detonate',
    'Cloaked Flight',
    'Pick',
    'Drop',
    'Calling a Take',
    'Calling Escort',
    'A conquer parade!',
    'Phaser Hit a Cloaked Enemy',
    'Phaser Hit a Plasma',
    'Drop on Agricultural',
    'Drop on Enemy Homeworld',
    'Ten Kills',
    'Planet Hook',

The achievements do not provide any advantage in the game, they are
only for learning progress tracking.

Here's the source in darcs:

http://james.tooraweenah.com/darcs/netrek-client-pygame/

The most likely problems I'm looking for are:

- random crashes in untested code, please capture the stderr
  traceback,

- obvious ways to circumvent the achievements,

- missing obvious achivements for new players.

Some minimal sound effects have also been added, again oriented not
toward enjoyment but toward learning goals:

- an orchestral hit "ta da" when an achievement is unlocked,

- men shouting "Hey!" when your team planet count increases,

- a slide whistle down when your team planet count decreases,

- a dramatic orchestral sequence when an LPS starts,

- applause when a conquer parade begins,

- an explosion for when your ship explodes (but not others),

--

-- 
James Cameron
http://quozl.linux.org.au/
Bob Tanner | 19 Sep 2012 19:23

Client connection: State?

Long story short, I want to improve my Cocoa and objective-c skill set. 
I've combined 2 of my favorite FOSS projects together. 1 (obviously) is 
netrek and the other is Adium (http://adium.im/).

What I want to get out of this coding adventure is an Adium plugin that 
can connect to a netrek server and act as an observer.

I got the view (gui) stuff and socket stuff done (gratitious concepts 
takes from pygame and MacTrek).

What I'm failing to get to work properly is the "game packet" processing.

Looking at packet.h there's a general protocol state outline.

Starting states
        CP_SOCKET
        CP_FEATURE, optional, to indicate feature packets are known
        SP_MOTD
        SP_FEATURE, only if CP_FEATURE was seen
        SP_QUEUE, optional, repeats until slot is available
        SP_YOU, indicates slot number assigned

Login states
        CP_LOGIN
        CP_FEATURE
        SP_LOGIN
        SP_YOU
        SP_PLAYER_INFO

My netrek-game-protocol-fu is rusty (working in objective-c isn't 
helping me).  I assume "short-cut" some states if all I want to do is 
connect as observer?

My packet trace looks nothing like a real client so I'm looking for 
help on what I'm doing wrong (pseudocode):

connect to server port 2593
send CP_SOCKET
assume I don't need to send CP_FEATURE?
read SP_MOTD

Assuming the above is correct, the problem  is I get a 1340 byte 
payload and the first byte is not 0x0b (11, aka SP_MOTD) so either my 
state stuff is wrong OR my socket code is wrong.

I see a spiffy tool called lurk.py (James?) in the cow code base. Sadly 
it doesn't work on Mountain Lion/Python 2.7.2 (haven't really looked at 
it yet). If I read the code right is this effectively a netrek-game 
protocol sniffer?

Thanks.
--

-- 
Bob Tanner <basic@...>          
Key fingerprint = 9906 320A 8BB6 64AD 96A7  7785 CBFB 10BF 568B F98C
Chris Lukassen | 29 Apr 2012 22:29
Picon
Gravatar

Gytha for OS X

Hi

I would like to run Gytha on OS X but seem to fail all the time. Anyone that knows how to set that up?

Regards

Chris
Andrew Sillers | 3 Apr 2012 23:34
Picon
Gravatar

HTML5 Netrek, pre-alpha

All,

Just to let you know, I've been working on the browser-based Netrek client, and I have a proof-of-concept up and running on Nodester.  It connects you to continuum.us.netrek.org as a guest; right now you can do basic dogfighting with torps (and phasers -- phaser-fire events are sent to the server but they aren't currently rendered visually on the client).  It's incredible sparse at the moment: when you die, you'll need to refresh the page to get a new ship.

The demo is at http://trekproxy.nodester.com/.  If you can't join by clicking on a race, try refreshing.

It runs pretty slow, but Nodester is a free (but awesome) service that probably isn't providing the same level of bandwidth I'd get from a commercial host (if multiple people follow that link at the same time, expect it to be exceptionally slow).  I also plan to improve rendering speed, so that might improve things a bit as well.

The code is also up on Github: https://github.com/apsillers/html5-netrek/.

So, it's not much to look at right now, but it's a start!

Andrew

_______________________________________________
netrek-dev mailing list
netrek-dev@...
http://mailman.us.netrek.org/mailman/listinfo/netrek-dev
Johnny Solbu | 1 Mar 2012 02:17

netrek-client-cow - Mandriva RPM release

For those interested, I have just packaged netrek-client-cow which will be included in the next Mandriva
2012 release.

--

-- 
Johnny A. Solbu
web site,   http://www.solbu.net
PGP key ID: 0xFA687324
********************************
Kom Arbeidslyst og treng deg på,
her skal du motstand finne.
_______________________________________________
netrek-dev mailing list
netrek-dev@...
http://mailman.us.netrek.org/mailman/listinfo/netrek-dev
Andrew Sillers | 29 Feb 2012 00:49
Picon
Gravatar

HTML5 Netrek client

Hello Netrek devs,

I've been playing around with some JavaScript libraries for HTML5 canvas drawing, and I feel fairly confident that it would be possible to make browser-based a Netrek client.  The browser could use WebSockets to communicate with an intermediary WebSocket-based Netrek server.

[[Browser client]] <---WebSocket connection---> [[WebSocket server]] <----real TCP connection----> [[Regular Netrek server]]

The intermediate WebSocket server would be quite thin; it just needs to catch WebSocket messages from the client and forward them to the actual Netrek server.  (I believe this roughly is the model that freeciv.net uses for their browser-based Freeciv client.) The WebSocket server and the actual server could be run on the same host or different hosts, which means anyone who can set up a WebSocket server could connect their browser client to a real Netrek server.

The main benefits to a browser-based Netrek client are:

1. It would be cross-platform and not require any downloads/installations, which would greatly the reduce the barrier to entry for new players.  (Some might consider this a disadvantage, however, allowing a potential flood of clueless players.  This may be a non issue; see RSA verification below.)

2. Once a desktop version is completed, it should be fairly easy to modify the UI to create a mobile-friendly version.

3. Support for Web-only devices: Chomebooks and (someday) Boot2Gecko devices from Mozilla.

My main concerns are:

1. WebSockets only use TCP, not UDP. (WebSockets are exactly as efficient as TCP, minus a negligible one-time set-up cost per connection.) My understanding is that all modern Netrek implementations prefer UDP but provide legacy support for TCP.  Would writing a client that could only use TCP be a waste of time?  How playable is Netrek over TCP only?

2. RSA verification of a browser-based client would be impossible.  The actual client -- as far as the server is concerned -- is the intermediary WebSocket server, which has no way of verifying what the user's broser is running.  Furthermore, running cyptographic verification (or any kind of self-verification, really) in Javascript is doomed from the start, since a player could easily modify the client's code (and/or the code of the verification process) at any time using Greasemonkey or the browser's debug console. Would this mean that major servers would never be able to accept Web clients?  Web-friendly servers could always be set up, so that regular players using desktop clients are not affected.

So, in conclusion: any thoughts (either policy-related or technical) about writing a Web client?

--Andrew
_______________________________________________
netrek-dev mailing list
netrek-dev@...
http://mailman.us.netrek.org/mailman/listinfo/netrek-dev
Johnny Solbu | 28 Feb 2012 22:06

netrek-client-cow and vanilla-server - license question.

Hi.
I am in the process of packaging the COW client to Mageia, and possibly also Mandriva, and putting it in the
non-free repository because of the current license. And I have a question about the license.

The last day I have looked around for the license of the program, which I have found (copyright.h and copyright2.h).
During my search I found this list, when in a message from may 2009 you got the permission to relicense
"RES-RSA" under the BSD license.
And I am wondering, is there any attempt to also relicence the client, and possibly the vanilla server under
a Free Software license, like the BSD?

The cow client and the vanila server are currently Non-free programs as it doesn't permitt commerical use,
which the BSD and GPL licenses allow.
Or is it already under the BSD-licence and someone have forgotten to update/add a licence to the package
stateing that it is relicenced?

--

-- 
Johnny A. Solbu
web site,   http://www.solbu.net
PGP key ID: 0xFA687324
********************************
Kom Arbeidslyst og treng deg på,
her skal du motstand finne.
_______________________________________________
netrek-dev mailing list
netrek-dev@...
http://mailman.us.netrek.org/mailman/listinfo/netrek-dev

Gmane