You don't need frames to view this website. Flash communication server. Flash mx xml socket server.
Home
Main Menu
Home
- - - - - - -
What is Palabre ?
Features
News
FAQ
Forum
DEMO
- - - - - - -
Downloads !
Browse SVN
- - - - - - -
Search
Contact Us
- - - - - - -
Sourceforge Project Page
Python
Links
Palabre on Facebook






Actionscript for Multiplayer games
 
Download Palabre Flash Xml Socket Server DOWNLOAD Download Palabre Flash Xml Socket Server FORUM Download Palabre Flash Xml Socket Server FAQ Download Palabre Flash Xml Socket Server WHAT IS IT
 



Using Palabre ? Coming here for Support ? Please consider making an (even small) donation :)
Palabre Forum  


::post new topic::
feature request - 2008/04/01 17:51 I just ran into a tricky problem, which I think requires a feature to address, though I will also see what I can do on the module side.

Persistent Rooms

I'm currently working on one small project, but in the future, I want to hang a series of small multiplayer games off of the single instance of the palabre server.

The best way to do this would be to have a number of persistent rooms that are created whenever palabre is started:

myCurrentGameRoom
FutureGameRoom01
futureGameRoom02

On the client side, I would hide the upper level rooms, and make all rooms for a particular game children of their parent room.

To pull this off, I need to be able to create and maintain these permanent top-level rooms.

Looking into it, but it may be a feature request.
  reply | quote
Re:feature request - 2008/04/01 18:05 Yes, I'm replying to my own post...};^) I figure I should group these together in an easy to find spot.

This is one that I definitely have a workaround for, but the work around is poor, and has security risks that I would rather avoid.

Password Protected Rooms

The architecture of this request is two (or three) fold:

Separate the Create Room and Join Room Functions (this would also aid in the creation of empty persistent rooms, as discussed above)

SEND: <create room="someName" password="fooBar" />
RECEIVE: room created message

SEND<join room="someName" password="fooBar" />
RECEIVE: Notification of success+room params, or failure;

Also, I would like to be able to break out the notion of the room Operator, as something that can be passed between occupants, by the current operator:

- The first person to join a room is assigned as operator
- That person can assign another player in the room as Operator
- If the Operator leaves, the room remains and the Operator designation is passed to the next oldest occupant

The Work Around

Players log in with one name to the main site, and then join a room using another name which is a room param.

When they join, they are using a module driven privateJoin command, which compares their room name and password params with the list held by the operator. If they match, a standard join command is sent.

This will work, but is not very secure, and doesn't solve the operator issue, which is kind of a big issue for my current project.

Thanks for your attention, and for the great software.

AS I work some of the bugs out of my modules, I'll post some of them.

Sean Hyde-Moyer
www.chromecow.com
  reply | quote
Re:feature request - 2008/04/01 22:10 Ok, persistent rooms is definitely a new feature.

I tried creating a simple socket client in a module that runs on startup, whose sole job was to create the top level rooms, but evidently having two sockets running on the same IP/Port causes...bad things.

I think I was able to connect, but then all the regular clients went silent, so those packets were wandering off into the ether, I guess.

Even if I could get it working...it's pretty hacky.

There may be folks that would use persistent rooms differently than I would, but for me, the ideal implementation would be something like an entry in the palabre config file that creates those empty, persistent rooms on startup:

Code:

  [persistent rooms] rooms GAME01,GAME02,CHAT01



Persistent child rooms could be indicated with nested parenthesis:

Code:

  [persistent rooms] rooms GAME01,GAME02(CHILDROOM(SUBCHILD)),CHAT01



Best,
Sean.
  reply | quote
Re:feature request - 2008/04/04 10:10 Hi,

I can change very few thing to enable plugin to add secure password protected room (for example a simple call to plugins : doAction('clientCanJoinRoom') ...)

For persistent rooms, I think that currently a plugin could create the rooms on startup the only issue is that the room will be removed when all clients left.

but it's just a simple test in palabreRoom
Code:

  if len(self.allNickNames) == and len(self.childRooms) == 0:    self.removeRoom()



So I can modify this too.

I'll think of the best way to edit this and commit all this to SVN ... and soon to release a new version :)
Célio Conort
Lonesome Palabre developper
  reply | quote
Re:feature request - 2008/04/04 13:41 Hi,

Can plug-in create client ? i think yes, because they have access to server object.

So if you create a client for each persistent room you make, like a bot operator in IRC.
The room will remain open even if there isn't real client into.

But i don't know if it's possible now.

But if it's possible and then you register for the m node, you can intercept all private message for your bot, and make a cool bot, with small game and i don't know, maybe a small IA -_-

Cyprien
  reply | quote
::post new topic::
SORRY, website is currently mostly broken due to software changes on the server.
Hope to fix it soon ...

In the meantime you may still download palabre or use the forum