I've been working on something new. I get a lot of projects where I have to add multiuser functionality. Finally I've made the jump to Python 3, and built a generic multi-user game server, so I can stop rewriting this sort of thing for every new project. It's using the most excellent asyncio framework, with aiopg for Postgresql support.
The server code is on GitHub, the Unity3D client is still in progress.
Those tedious functions, such as Registration, Authentication, Reset Password, Messaging, Rooms and Object storage are solved, may I never have to write a "Reset Password" module again!
Thursday, November 13, 2014
Subscribe to:
Post Comments (Atom)
Popular Posts
-
These are the robots I've been working on for the last 12 months. They each weigh about 11 tonnes and have a 17 meter reach. The control...
-
So, you've created a car prefab using WheelCollider components, and now you can apply a motorTorque to make the whole thing move along. ...
-
The procedural planet package has been updated to version 1.4, and you can see the new demo here . It features better city light control, be...
-
Why would I ask that question? Python 3 has been available for some time now, yet uptake is slow. There aren't a whole lot of packages i...
-
I have just spent an hour trying to track down a weird bug in some Javascript interpolation code. The offending code looks like this: var n ...
-
I've just finished refactoring an awful C# class. I had been delaying the job for a while because I didn't want to do it. Then, whil...
-
Dear Lazyweb. Imagine a nice RESTful interface for working with Tags. The URL: /tags/ will return a list of all the tags. The URL: /tags/fo...
-
After my last post, I decided to benchmark the scaling properties of Stackless, Kamaelia, Fibra using the same hackysack algorithm. Left axi...
-
Summary: NodeJS wins. Test Program ab -n 10000 -c 5 http://localhost/ Gevent Code from gevent import wsgi class WebServer(object): def a...
-
I've built sites with Django, TurboGears and Pylons. I've come to prefer Pylons. Why? Pylons gets out of the way, and stays out of t...
5 comments:
Love it. I'm amazed how clean modern python async code can be.
Also, a very nice example of asyncio with postgresql. Do you know of any other good examples?
Knowing how racy this type of code can be... are you going to add tests of some sort?
Some of the types seem a bit off. Like when you add to contact, it's as a string, where as they should be int types. https://github.com/DifferentMethods/netwrok-server/blob/master/netwrok/contacts.py
Really nice. Especially after having a look at some asyncore code recently! This is 1,000,000 times cleaner.
I've just been using the aiopg manual, the API is very different from psycopg. Tests and fixes are coming!
Looking forward to watching you as you go.
Like Rene, i'm amazed at how amazingly succinct the code is.
Was thinking of branching to work on room based objects with sync...
@jos Room based objects with sync... not sure what you mean? Like shared objects in a room that a synced to clients when modified?
Post a Comment