Help - Search - Members - Calendar
Full Version: SR3-oriented Chatserver/Client
Dumpshock Forums > Discussion > Community Projects
Kagetenshi
After several years of playing Shadowrun (and other games before that) over AIM, and occasional (failed) attempts to make OpenRPG be worth using, I finally got fed up and wrote a basic server/client pairing. Everything's pretty rough and hackish right now, but it should have all basic functionality and it's still under development.

Program page (very rough right now, like everything else).

Requirements:
  • Python (self-contained client executables coming soon for OS X, soon-but-less-soon for Windows)
  • WxWidgets and WxPython if you want something better than the horribly hackish command-line client (again, self-contained executable coming soon)
Features:
  • Automatic die rerolling
  • Settable clock for in-game timekeeping
  • Something else, I think
  • Did I mention cross-platform?
Planned features (short-term) (this is the good stuff):
  • Basic initiative tracking (that's what the extra window south of the connection list is for)
  • Whiteboarding for maps/drawing/doodles
  • Authentication and privilege levels
  • Menus that aren't a total afterthought
  • Documentation!!! The source is quarter-decently documented, but for anyone who just wants to /run/ the friggin' thing, we'll have you covered Real Soon Now�
Planned features (long-term):
  • Some form of character tracking
  • Improved initiative rolling/tracking using character-tracking information
  • PC/NPC status display in initiative list
  • Possible support for multiple "rooms"/network-style operation
  • Server configuration files so you don't have to edit the source for your defaults
  • Possibly even a GUI server or combined client/server
  • Macros and command aliases--no need to work the way the server does, at least to some degree
  • The moon
So yeah. Questions/comments/suggestions/patches welcomed. I'm not sure how many people will be interested, but I've written it, so I might as well share it.

~J
craigpierce
cool smile.gif
eidolon
My old group (currently still in HI) and I have been tossing around the idea of playing over a server type thing, only it would just be to augment voice chatting over something like ventrillo or teamspeak.

It stands to reason that since most of what gaming is is talking, then being able to talk will lead to being able to game. Since we trust one another for dice rolls and the like, it should work pretty well.
Kagetenshi
Code cleanup in progress, which should be followed soon by a 1.0 release.

~J
Kagetenshi
Got everything together, should be pushing out a release tonight. Everything appears to work, but this release is being rushed to make room for a gutting and rewriting of large chunks of the code for 2.0.

~J
eidolon
Ooooh. I'll be checking this out. biggrin.gif
Kyoto Kid
..hmm, finally a reason for leaving Python on my system.

Will the Windows version be working?
Kyoto Kid
..hmm, finally a reason for leaving Python on my system.

Will the Windows version be working?
Kyoto Kid
...bloody hell, another bleedin' double post.
Kagetenshi
Release got delayed because I fell asleep right after coming back from work last night. Today I'm getting paid to write an on-line character tracker (don't ask how I managed to swing that smile.gif ) so there will probably be future integration there.

~J
Kagetenshi
Turns out I screwed something up on the Windows client executable. The source release and OS X client (10.3 and later) are available here. To use the source client, you need Python and WxPython-Unicode installed—I think any version of Python after 2.2 will work, but it was developed under 2.4 (and at the very end 2.5). The server needs to be run from the source release, but doesn't depend on anything but Python and its standard library. Hopefully I'll get the Windows executable properly created and uploaded early next week.

Edit: ok, don't be too quick to download this yet—my network connection's being slow. If you don't see the source release, the upload hasn't finished.

You can keep an eye on progress for the next version at the project repository. It will integrate Twisted and be developed by me now, not by me last year, which should make it about a billion kinds of better.

~J
Kagetenshi
Next version delayed while I murder some documentation writers.

~J
Kagetenshi
Ok, version 2 is going to be a pretty straight reimplementation of version 2 (but with the behind-the-scenes stuff done all kinds of better), but if I can just make these docs confess it looks like the version after that should be able to get some awesome stuff pretty easily. Maybe even metaserver support.

~J
Kagetenshi
Version 2 coming along well—basic communication has been restored, you no longer need to trust your server/clients, and basic authentication support is complete. Now I just need to integrate the GUI, rework the client- and server-side commands to use the new system, and then I'll push it out the door.

~J
Kagetenshi
The dieroller is functional again. It's limited to rolling at most 250,000 dice at a time, unfortunately, but hopefully that will tide everyone over. Going through to add robustness, then will integrate the clock and GUI.

~J
TBRMInsanity
Do you need more programmer? I was planning to create a similar project, but it would be easier to help you finish yours (as it is basically the same thing).
Kagetenshi
I would definitely be open to any and all assistance. My email is my username at kanshishakage.net ; I guess the first step is to figure out what the second step is smile.gif you'll probably want to take a look at the code in the repository, if you haven't already, as well as the specified feature list and current operation. I'll do my part by giving a shot at continuing my cleanup when I get the chance. After that, if there's anything you want me to explain my thought process on, just let me know; most of it's much cleaner than it used to be, but there's some debris lying around still. Then just pick something (a feature, fix, cleanup, or something) you want to work on and we'll figure out the best way to do it.

(Out of interest, do you have much experience with Python or relatively dynamic languages in general?)

~J
Kagetenshi
I should add: if you do email me, please let me know on here too, just so I can make sure you don't get missed or spamfiltered or anything like that.

~J
TBRMInsanity
I have very little Python experience but it is a language I want to learn. It would probably be best if I worked on something not so critical right of the bat (documentation or minor defects). I will send you an email.
Kagetenshi
Hah! It works again!

Latest version is almost up to the functionality the program was at before I realized I was implementing it using a really bad backend. Further updates as events warrant.

~J
Kagetenshi
Client now quits cleanly instead of needing to be terminated.

~J
Kagetenshi
Fixed some usability issues with the login window, server now supports trivial authentication (no role-based capabilities yet, though, nor registration—that's next).

~J
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Dumpshock Forums © 2001-2012