Postal

From Citizens Wiki

Revision as of 07:12, 14 October 2012 by Jrbudda (talk | contribs) (Created page with " '''Postal''' is a Citizens2 Based Postal System {{Trait | PICTURE = | AUTHOR = mcfacilitator | NAME = Postal | VERSION = 1.0 | CITIZENSBUILD = [http:/...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Postal is a Citizens2 Based Postal System

[[File:]]

Postal


Author mcfacilitator
Version 1.0
Citizens build 2.0.3 build 443
Other dependencies None required.
Download Link
Description: Citizens-based postal system.

Getting Started

Copy va_postal to the plugins directory.

Postal is dependent on Citizens2, so be sure and include it. As of this writing I am using citizens-2.0.3-build.443

By default, the postal system does not automatically start when the server starts. This can be changed in 'config.yml'. You don't want it to start anyway because there is nothing to do yet. 'postal start' starts it, but don't do that yet. Btw, '/postal' (no params) lists the postal commands.

The minimum: a central post office, and at least one local post office with at least one address. Chests are used to hold incoming and outgoing mail at both addresses and post offices.

1) As op'd player, go to the spot where you want the central post office and enter '/setcentral'. Place a chest within a few blocks of that position.

2) As op'd player go to where you want a local post office and enter 'setlocal <town_name>'. Like the central post office, place a chest nearby.

3a) As op'd player, go to an address that this post office will serve and enter '/setaddr <town> <address>' <town> and <address> should be 14 characters or less, all one word. Separate words using the underscore ie: 'Sunshine_Bay'

3b) Complete the address definition by indicating the route waypoints that you want to use. As op'ed player enter '/setroute <town> <address>' using the same parameters used above in the 'setaddr' command. You will enter the waypoint editor and, since this is a new route, you will be teleported to the post office. Left or right click points on the ground for the postman to follow to this new address. More about the waypoint editor below. Mark your final waypoint close to where you want your mailbox. It can be inside, or outside a building. Enter '/setroute exit' to exit the waypoint editor. Place a chest for your mailbox.

4) Go! '/postal start'

Sending Mail

Using Book and Quill, write a letter and sign it. '/tlist' will list the names of the towns. '/alist <town>' will list the addresses in that town. All the commands, where appropriate, are pretty good at completing town and address names with the minimum amount of typing. Take this book and type '/addr <town> <address>' This addresses the letter. Mistakes can be fixed by simply using the 'addr' command again. Now this book can be placed in any mailbox (chest), including post office chests. For the above example, put it in the central post office so you can see the postmaster manage out-of-town mail.

Waypoint Editor

There are two other commands besides 'exit' available while in the editor, and they are 'undo' and 'new'. Using '/setroute <town> <address>' on an existing address will immediately take you to the last point on the route. '/setroute undo' will back you up one point. this is handy for changing the mailbox location at an address. '/setroute new' will take you back to the post office to re-do the route from scratch.

The postman is pretty good about detecting doors on a route, as well as opening and closing them. He even opens/closes both doors of double doors. Ha can also handle gates, and waist high trapdoors. To properly lay out doors on a route, mark a point before the door (a block or two) and a point after the door. If there are multiple doors that are close together, be sure there is at least one point separating these door point-pairs. Two points might be better. If you ever have unexpected door problems, it will be because of this - just add more points.

On the other hand, many points are not your friend if you want the postman to run. The algorithm has the postman's speed determined by the waypoint spacing. The further apart, the faster he goes. Waypoint spacing is the speed control.

Stairs should be marked before the first step, and after the last. He does stairs well. I have a 20 story office building serviced by local post office, in the building.

Mailboxes

Mailboxes are chests, single or double. They are normally placed near the beginning and the end of routes. The postman will look for a chest up to 10 blocks, or so, if he doesn't immediately find one. He will even add his own waypoint to get to such a chest, but it is better to keep them close and handy. The postman will favor a chest if it has a sign with '[mail]' anywhere on it, near the desired chest. This is intended to direct the postman to a particular chest if there are many.

The postman leaves a postal log in the chests at addresses. It is time-stamped every time he visits the address. This serves as an indicator of a chest being used as a mailbox, as well as proof that the postman is servicing it. Players are not allowed to remove this log, only look at a copy of it. To override this behavior, enter '/postal admin' as an op.

Permissions

Permissions are pretty simple right now. Op is required for the admin type commands. Codelock may be used to secure chests without hindering the postman. The infrastructure for player ownership of routes and post offices, and sender/sendee access to mail in chests is in place, but not yet complete.

Notes

'Concurrent_postmen' in config.yml controls the route scheduling. Set to 'true' to have all post offices run concurrently. The postmen run their routes continuously, oldest route, next. However, Mailed books are detected when mailed, and preempt the regular routes. Actual mail always takes precedence over route walking. A post office with 30 routes will still move the mail along efficiently.

The NPC's are created on the fly, as needed. They are removed on server shutdown. There is a hard-coded cap of 10 NPC's that can be easily changed. I will move this number to config.yml eventually, or remove the cap altogether.

There is a '/postal stop' command, but it is a little rough around the edges. I would suggest leaving the 'autostart' option to 'false' until most of your postal routing is done. Modifying existing routes while postal is running is no problem. Plan on restarting the server when adding new routes or post offices.

One person may use the route editor at a time. Re-entry is not allowed.

To really see what is going on behind the scenes change 'debug' to 'true' in config.yml and watch the console.