Hi,
The server is designed to support clients playing at various
speeds. The central idea is that each client must be in sync at the
end of each hand, although they may display each betting round at very
different speeds. For instance a no-display bot will not impose any delay.
And a 3D client with fancy animations may require a few seconds for each
player action.
After the client receives a PACKET_POKER_START packet, it can
send a PACKET_POKER_PROCESSING_HAND to the server. The server will then
expect a PACKET_POKER_READY_TO_PLAY packet from the client and will not
deal the next hand until it receives it.
In order to avoid DOS from malicious or broken clients, a
maximum delay for each hand is calculated based on the //delays
element of the poker.server.xml. If a client sent a
PACKET_POKER_PROCESSING_HAND but failed to send a
PACKET_POKER_READY_TO_PLAY packet before the maximum delay expired, it
will be marked as "broken" by the server. When a client marked
"broken" sends a PACKET_POKER_PROCESSING_HAND packet to the server, it
is ignored and the server will not wait for it before dealing the next
hand. The "broken" status of a client is reset after each
disconnection.
A short reminder was added at:
http://svn.gna.org/viewcvs/pokersource/trunk/poker-network/pokernetwork/pokerpackets.py?rev=3520&r1=3519&r2=3520
If a poker client implements these two packets, it can control
the showdown display time (for instance), within boundaries compatible
with the maximum showdown delay set in
poker.server.xml#//delays/@showdown. For this, it just needs to delay
sending the PACKET_POKER_READY_TO_PLAY packet. For other delays, it can
Cheers,
--
+33 1 76 60 72 81 Loic Dachary mailto:[EMAIL PROTECTED]
http://dachary.org/loic/gpg.txt sip:[EMAIL PROTECTED]
Latitude: 48.86962325498033 Longitude: 2.3623046278953552
_______________________________________________
Pokersource-users mailing list
[email protected]
https://mail.gna.org/listinfo/pokersource-users