Adnan Chowdhury | 29 Aug 02:44 2014

An idea for netrek related game

Hello everybody,

I have been a long time brewing this idea based on the Star Trek universe that would be played from command-line. I would like to post it here to receive feedback and suggestions on the idea, or any possible help to move forward.

The game would be based in the Star Trek universe, with the user assuming the captain's seat on a galaxy class starship, fully-staffed with first officer, chief engineer, security, a communications officer and helmsman.

It would be inspired by Nethack in the sense that it all takes place on the terminal, animated and illustrated purely by ASCII characters. (This may seem like an ugly prospect at first but more on this later).

The player would operate the game the way a user utilizes multiple shell sessions with the linux program 'tmux' ( screenshot of the program: ). In the game, there would be several, perhaps dozens, of screens and views the player could pull up displaying diagnostic info, personnel records, sensor readings, main view screen, etc ... The player would be able to manipulate, customize and navigate through his or her screen configuration. One idea was to be able to have multiple 'clients' for the same game session; meaning players could connect from multiple shell sessions to their star-ship, and dedicate different screens/views to separate monitors.

The game would be a turn-based RPG, with quests obtained from different planets, star-ships, entities along the way...

The game could easily be an MMORPG. Players would play in an accurate representation of the Milky Way galaxy.

Battles with other ships, enemies, would be turn based, as implied above.

The ship would require maintenance, upkeep, etc ... Starbases may play a role here.

Warp travel to faraway places would be traversed in real time. For example, if an active quest requires you to travel 3 days at maximum warp, the game would have to run for 3 days. The game should allow the player to leave it running in the background, or online perhaps.

As for the graphics, they would be purely ASCII driven. The UI would most likely be built using the ncurses library. Unicode Braille Patterns would be used to draw pixel graphics on the terminal. The graphics depicted would be limited to graphs, sine curves, 3-d shapes and probably a crudely drawn star field for the view screen, with interesting effects when warp drive is in effect. This page has some interesting demos of Unicode Braille patterns being used to draw graphics:

Also, perhaps for face-to-face communication through the view screen or personnel portraits when communicating with staff, the best we could use would be ANSI art graphics (see image to ANSI art websites).

Looking for input; honesty always appreciated.



netrek-dev mailing list
Telly Brown | 10 Jun 00:13 2013

future netrek

My brother and I played netrek back in the earlier 90's and have dreamed of that experience once again.  We are just starting on a MMO style version of netrek based on the mechanics but not in the same universe.  This would be a rewrite from the ground up and not a simple enhancement.

We are accomplished developers looking for artists and developers to aid us.  You would need to be proficient in C# and/or javascript.  

There will be no pay for this development unless we are able to sell subscriptions.

Once we have people chosen we will agree on company ownership.

Please email me if you are interested and list a summary of your skills, experience and number of hours you can contribute per week.

netrek-dev mailing list
Zachary Uram | 3 May 06:31 2013

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?


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?
> >
> > Hey what is going on with Paradise?
> >
> > Zach
> >
> > On Tue, Jan 8, 2008 at 9:08 PM, Zach<netrek@...> wrote:
> >> We had some good activity and development going for a few weeks then
> >> it went totally silent.
> >>
> >> What is the status of:
> >>
> >> * the Vanilla and Paradise server code merger?
> >>
> >> * allowing paradise servers to list themselves on the metaserver (solicit
> >> code)
> >>
> >> * the MS Windows paradise client (beta available on
> >>
> >>
> >> * server mods discussed on the list
> >>
> >> * getting another server up besides whitestar (i recall 2 others on
> >> the list working on servers)
> >>
> >> I've had at least 1/2 dozen bronco players express interest in
> >> paradise. They didn't know about the friday games on whitestar and
> >> were surprised no paradise servers are listed on the netrek
> >> metaservers.
> >>
> >> Zach
> >>
> >
> >
> >
> > --
> > <><
> > J.S. Bach - Primus inter pares
> > Soli Deo Gloria
> >
> >><>
> > _______________________________________________
> > paradise mailing list
> > paradise@...
> >
> >
> >
> --
> _______________________________________________
> paradise mailing list
> paradise@...

Zebediah C. McClure <zmc@...>


Bob Tanner | 21 Jan 22:07 2013

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.



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

HTML5 Netrek Lite

Hello all,

I've been hard at work on the HTML5 Netrek client, online at (and source at 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?


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
John R. Dennison | 24 Oct 14:25 2012

Very Sad News

Michael Denison (Splunty) sent me a message on Facebook Sunday evening that
caught me completely by surprise.  He mentioned that Dan Damouth (Tuber) had
passed away back in 2010.  Doubly shocking as it turned out that Dan was only
a year younger than myself.

I am including Michael's message here for completeness.

I don't know how else to share bad news with you.

One of the netrek folk discovered that Dan Damouth passed away September 19,
2010. I don't know if you were as close to him as some of us were, but if you
were, I think you have to know.

One of us should probably share with the netrek community.

Hope you're doing well.

This was the first that I had heard of it which, considering that I was not
especially close to Dan, isn't all that surprising. I would, however, have
hoped someone in the community would have heard something about this before
now and passed the information on :(

I did some research and was not able to locate an official obituary for
Dan but I did manage to locate:

Michael has confirmed that this was indeed him.

Besides getting this information out to what remains of the netrek
community I was wondering if anyone else had any information regarding
Dan's passing.

I've contacted Addison and asked him to reach out to Jitesh and that

My thanks to Michael for informing me of this loss.



Stupidity has a knack of getting its way.

-- Albert Camus (1913-1960), Algerian-French author and Absurdist philosopher,
   The Plague (1947)
Michael Bax | 6 Oct 11:46 2012

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 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 first.
    2. Line 2724: sp_table is initialized as global to
    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.

netrek-dev mailing list
netrek-dev <at>
James Cameron | 22 Sep 10:40 2012

Gytha play testing needed


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:

    'Using Help',
    'Using Keyboard Help',
    'Using Information',
    'Using the Galactic Map',
    'Planet Lock',
    'Shields Lowered',
    'Phaser Hit',
    'Cloaked Flight',
    '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:

The most likely problems I'm looking for are:

- random crashes in untested code, please capture the stderr

- 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
Bob Tanner | 19 Sep 19:23 2012

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 (

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_FEATURE, optional, to indicate feature packets are known
        SP_FEATURE, only if CP_FEATURE was seen
        SP_QUEUE, optional, repeats until slot is available
        SP_YOU, indicates slot number assigned

Login states

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
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 (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?


Bob Tanner <basic@...>          
Key fingerprint = 9906 320A 8BB6 64AD 96A7  7785 CBFB 10BF 568B F98C
Dave Ahn | 6 Jul 23:07 2012

orion down for maintenance

All services on (mainly will be down for maintenance effectively immediately.  All other services on other hosts remain up.  Sorry for the inconvenience.


To post send mail here: netrek-forever-/
More info:
Nota bene: Please be civil and treat list members with respect.
John R. Dennison | 14 Jun 04:47 2012 update and possible downtime

Just a friendly heads up.

It has been brought to my attention that there is an issue with page
edits on the wiki that is apparently caused by a recent set of changes
on my infrastructure.

After spending quite some time reviewing the problem and determining
possible fixes I've determined that the best course of action is an
upgrade of all wiki components and extensions.  As the wiki version is
somewhat dated this is going to be an... interesting... job.

I'm currently swamped with work so I plan on doing this in chunks over
the course of the next few days and hope to have things completed and
migrated over by the end of this coming weekend if all goes well.  Best
case scenario is that end users will see no downtime and things will
just magically get version bumped with no fanfare.  But, since Murphy
is currently renting a room here, there may well be some downtime.