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
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?
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
This files work using Panda3D 1.0.5! I have never tested it using 1.1! May be someone can give some migration advice?
Regards, Bigfoot29