Bukkit is a standalone replacement for minecraft_server.jar and if you want server-side plugins you need to use it. While there isn't a stable release for Minecraft 1.0, after some trial and error I found that build 1493 works and has been running my Minecraft 1.0 world successfully for a few days now.
I can't help you setup Bukkit standalone because I never did that - I installed McMyAdmin. Set it up according to the install directions, go into the control panel and select "Update/Install Bukkit" under About/Updates. It will warn about downgrading - that's OK. Once it has installed bukkit, open the MCMA\Minecraft folder and replace the craftbukkit.jar with build 1493 from the above link. Copy your world in and adjust the server.properties file as needed.
In theory, if you have a working minecraft_server.jar setup running you could just change it to point to craftbukkit.jar.
As for dynamic mapping, the plugin you want is Dynmap.
First, take note of some information about light-emitting blocks from the Minecraft wiki:
- Torches have a light level of 14, while glowstone has a slightly higher light level of 15.
- The light emitted decreases by one for each square of distance from the light source.
This means that if you wanted to light up a horizontal line of blocks such that the light level was 8 or higher everywhere on the line (to prevent most hostile mob spawning), you could place torches along the line with 12 blocks between them, or glowstone blocks along the line with 14 blocks between them.
Now, moving vertically will decrease the amount of light as well, also by one for each block moved. This would mean that if you moved 3 blocks horizontally, then 3 blocks vertically from a torch, the light level will drop by 6 to a value of 8. So, you could just count the number of blocks you have moved both horizontally and vertically from a source to figure out what the light level has dropped to and when you need to place another light source. I believe once you reach a count of N-1 blocks from the light source (where N is the light level of the source) is when you should place another one.
A potentially easier alternative to counting is to use the debug screen (press F3) to track light levels. This will show you a bunch of stats, like so:
The number to pay attention to is the one I circled labeled "bl", which stands for block light. This is the light level due to sources other than the sun and the moon as measured at your head level. This means that if you place a torch on the ground, then stand in the same spot, you will get bl = 13, since your head is one block above the light source.
Using this may make it easier for you to lay out your light sources and to check where you may have some dark spots. I use it often inside my structures to make sure I have lit them up appropriately.
Best Answer
Yes, it's server-side and also saved to file. It has to be server-side, because it determines where mobs spawn, crops grow, etc.
That's also why lighting bugs often persist relogging and only get fixed when placing/removing/blocking/unblocking a light source.
Sunlight is saved in two-dimensional matrices that include the height of highest opaque block in every column. Block light is stored per block. The total light gets calculated from both sources at runtime. Nothing is saved in the block data, because that would require every block to be a block entity, which would be very laggy. Instead it's a separate system.
The client then uses these light levels, together with their source (block or sun), the time of day (evening is more red than noon) and your brightness setting to determine which colour and brightness to apply when rendering the blocks and entities.
(wiki page about light, archive)