Well, it took many, many revisions, but I finally got per pixel lighting working in SL'UP! The initial implementation just used standard ray casting for every pixel, which always looks pixel perfect, but my god is it expensive! I then tried to optimize it by using an intermediary buffer and ray casting backwards, which would stop the ray casting as soon as it hit a pixel that had already been written to. Sounded good on paper, but really suffer with edges in practice.
I've decided to keep the full ray casting solution as the highest level setting for lighting, as it appears to run just fine on beast ass GPUs, but I implemented a simplified shadow map for the lower settings. The shadow map solution seems to run 60+ FPS on just about any GPU, as it only casts 1024 or 4096 rays depending on the setting, where the pixel perfect solutions casts 2,073,600 rays on a 1920x1080 machine.
Aside from that, we've decided to switch multiplayer over to P2P using ENet(reliable networking over UDP), which has required that we handle Firewall Punchthrough. That was probably something we were going to need with the old client/server model anyway, but it's definitely higher priority for P2P implementations. Consequently, I've been writing a Linux based STUN/TURN server implementation, along with implementing UPnP and NAT PMP support on the client. Hopefully I'll have all the ground work done soon so that I can actually switch the game elements over to P2P.
If anyone's interested in hearing more about these implementations, just hit me up. I'll gladly share my code, shaders, and full implementation details.