"PandaChat" - a small, but weird Chatserver/Client

Hi! Finally I have the server/client ready as promised!
I am posting it here, because it is NOT a tutorial. True, I commented nearly everything, but the code is messy sometimes, and some things are more quick’n’dirty than well-thought-of…
However, if you want to take a look into my work, get the file here:
http://www.bios.kicks-ass.org/downloads/PandaChat.tar.gz

Comments, suggestions, bugfixes are welcome :slight_smile:
Note, that the code isn’t finised, and some parts are not cleaned up (its still work in development - I would call it version 0.4).

What can the server?
Auth Clients through the Internet,
A 3D-based Chat system. (only people near your coordinates can hear/read you)
Changeable Nicknames with fixed login names.
A MySQL DB Interface, that stores all needed Data.
(Hopefully) Some work done to be easily convertible to multithreading/distributed objects systems.
Other features/things, I don’t recognize right now

What is the Client capable of?
It uses the background of the networking tuts Chatserver/client.
Except the background Image another GUI (New full featured keyboard (except Num Block) support (eg. for non-US the slash was not available)
, 4 Lines with always-on-Help, 15 lines Chatbox, a command line (ok, kinda like in the tuts, but completely other code)
Easy to use (a few commands to know - are always visible)
A chatbox system that can be modified with ease to allow smaller chatboxes. It has advanced linewrap capatibilities and uses far less space (onscreen) than some other solutions I have tried with the directGUI objects…
A welcome/Goodbye Message and many more…

What can they both?
A encrypted password transmission Client-Server
TCP Pakets… means: as long as your firewall do not block outgoing connections, it will be working!

Both files, server and client are extendable. the chatmysql.py file shows examples how to act with a mysql table… feel free to use it, but don’t expect comfort there… its a work tool, and I wrote it - what do you expect? :wink: :stuck_out_tongue:

As stated in the code: Thanks to Yellow, IPKnightly, Martin, drwr, zpavlov and all the others that helped me to get this piece of code going!

This is the final version I am going to post here for the next weeks/months (except heavy bugs that needs to be fixed)

Have Fun and don’t blame me if something doesn’t work :wink:

This files work using Panda3D 1.0.5! I have never tested it using 1.1! May be someone can give some migration advice? :slight_smile:

Regards, Bigfoot29

Addition: For those who don’t know where to get the mysql package:

sourceforge.net/projects/mysql-python

Have Fun! :slight_smile:

Regards, Bigfoot29

I think the client works with 1.1.0 because there is no collision handling.
I have made a short test with bigfoot using 1.1.0 and i didn’t found any 1.0.5 - 1.1.0 errors.

Martin

Neat, good job! :slight_smile: p3d.de could host that, too… but the template still needs work. :-/

Well, as long as I am hosting it, I can modify the code if needed… its easier that way :smiley:

But yes, P3d.de needs work… But I am the wrong one to ask :slight_smile:

No time (exams soon).

Regards, Bigfoot29

Is this code still available and if so can someone please post an updated url.

Thanks!

Oops… the download link was broken due to a not changed DNS entry.

The download should work, but the Code is for Panda3D 1.0.5 so do NOT expect it to work right away with current Panda3D releases…

Regards, Bigfoot29

Edit: When I read the code nowadays… omg, what horrible code ^^