Previous Next Up FAQ Table of Contents

8.2 Flood Control

Request Delays

The server administrator can define the delay required after each type of client request. On the client side, the properties can force the VolanoChat applets to pace themselves when they are used by scripting tools to automatically flood the chat rooms. On the server side, the properties can push the TCP/IP network's flow control all the way back to any clients attempting to flood the server.

The new server and applet properties are listed below with their default values as the delay time in milliseconds.

delay.access=0
delay.authenticate=0
delay.beep=5000
delay.chat=5000
delay.enter.private=5000
delay.enter.room=5000
delay.exit.private=0
delay.exit.room=0
delay.kick=0
delay.ping=0
delay.room.list=0
delay.user.list=0

On the client side the values are the time, in milliseconds, that the applet waits after sending a request of that type before sending any other request. On the server side the values are the time, in milliseconds, that the server waits after receiving a request of that type before receiving any other request on the same connection. The delays should be defined small enough so that they aren't noticeable to those using the VolanoChat applets normally.

These properties are found in both the properties.txt file and the client applet properties file (english.txt). The client and server side should have the same values. The delays on the server side makes sure potential non-Volano clients are still limited in their ability to flood the server, with the flow control being pushed back to the actual client through the TCP/IP network. The delays on the client side make sure that such TCP/IP flow control is never activated for connections with VolanoChat applets.

Flood control feedback

Although people can no longer flood the VolanoChat server, previous to this change the applet made it appear as if they could flood by accepting messages and displaying them locally as fast as possible. That made people think they were still flooding, so they kept trying over and over again. To correct that appearance, we added feedback all the way to the chat message text field when people are chatting faster than the VolanoChat server is configured to accept messages.

color.foreground.text.editable.inactive=#RRGGBB
changes the color of the text when someone is sending in messages faster than the configured rate.
theme.n.color.foreground.text.editable.inactive=#RRGGBB
an additional color for each theme where n is the name of the theme

When there are a certain number of outstanding unconfirmed chat messages, the text color changes and the applet does not accept the enter key until the number of unconfirmed chat messages reaches the limit again. The limit is defined by the following applet property, with a default of allowing no outstanding unconfirmed messages:

unconfirmed.chat=0

See also:

  [8.5] Themes

Previous Next Up FAQ XHTML 1.0 Table of Contents

2014-07-11 — An updated version of the VOLANO chat server that supports the latest Java 8 Plug-in is now available. More…

The VOLANO® chat software for the Java™ platform lets you build on-line communities and add real-time social networking to your Web site. More…

John Neffenger <john@status6.com>
More…

A PROJECT OF STATUS:6®