The assembly must be entirely linked together with the net primitive being the root. The ball is the only unlinked object that rezzes from the Volleyball dispenser. Optionally include a derez-on-SIM-edge into the Volleyball to prevent littering.
The whole assembly is built to communicate using channels derived from hashes of the creator, NOT the owner. This will make HUDs transferrable with permissions which will not allow teams to tamper with the inner workings of the script. This does not mean they will use me as the creator. Whoever builds this assembly will be considered, in Second Life terms, the creator.
Some scripts are named, meaning the name is important. This is rather meant to distinguish the teams and field components, rather than preserve licensing. The scripts build hashes based on the names of the scripts. Further on, I will show how to rename the scripts (which is indicated in case of a tournament).
For the build itself, I call the two opposing teams, the McCoys and the Hatfields (initially based on a discussion between Heather Lingiuan and myself). The McCoys have a red color identifier and the Hatfields have a blue color identifier. These colors may be changed to any other pair of colors and are meant to inform the players of which team they belong to.
The outer shell that you see in the pictures, is optional. However, it is recommended, even if set to full transparency to keep the ball within reachable bounds in case the ball rolls away.
Ideally the Volleyball fields (to be explained in detail later), should rest on Linden ground. My build rests on a thick primitive up at 500m. However, given a sufficient velocity, lag and gremlins, when the ball descends, if the fields do not rest on Linden ground, the ball might go through the ground primitive. Albeit annoying to the extreme, it does not invalidate the game. If the ball slides through the ground on the opposing team's field, it is still a valid score point - just another ball will have to be rezzed again.