30 bulbs x 25w = 720 watts
I would suggest going with LED bulbs, which will work at 12v...24v and will consume 3-15w depending on what you buy.
Here's some examples:
4 Pack 12V-24V AC/DC LED Edison G14 Bulbs 3W E26 Light Bulbs Low Voltage Edison AC DC Screw in Light Bulbs for Off Grid Solar Lighting Marine Boat RV 12V Interior Lighting 3000K Warm White for Camper
https://www.amazon.com/12V-24V-Edison-Voltage-Lighting-Interior/dp/B07HXLYCX8/12 Volt 24 Volt 12V-24V LED Light Bulb, RV Camper Marine Light Bulb A19 Low Voltage 4W 470lm Edison Incandescent Bulb 40W, Off Grid Solar Battery System Lighting, E26 Base Warmwhite 2700K (Pack of 4)
https://www.amazon.com/12V-24V-Voltage-Incandescent-Lighting-Warmwhite/dp/B077Q2G7NZ/and so on ... search amazon for "12v light bulb" or "24v light bulb" ... but keep in mind a lot say 12v..24v though it's more like they'll tolerate 24v but aren't really designed for 24v.
Anyway... with the lower power consumption of 3-15w per bulb, with 30 bulbs you're looking at 300-500w which is more reasonable, something a cheap ATX power supply could provide.
You could use cheap ethernet cable to power everything ... you have 8 pairs of wires inside, each AWG24... use 6 wires for power , and a pair for data (bits + clock)
If you can place the controller in the middle, you can make two strands ... one with 15 bulbs , one with the other 15v bulbs, to reduce the current through the 6 wires, and the voltage drop.
You could have a basic 12v-5v ldo at each bulb, a microcontroller that reads the bits coming on the pair and pushes forward to the next if the address is not for them.. this way, the bits only need to travel between bulbs, so you don't need loads of power.
You can set the address of each bulb with a few jumpers or solder points... if you have 30 leds, 5 bits give you 2^5 = 32 unique addresses. You can go with 6 bits for expandability and then you have maximum 64 addresses.
You could also set the addresses automatically ,,, for example if you send address 0, that means the first device with no address set will respond to that command.
So for every bulb you have in the chain you send "device with address 0 , set address 1" , "device with address 0, set address 2"
"device with address 0 , set address 1" : The first device will have no address set, so it will pick up the command for address 0 and set its own address to 1"
"device with address 0, set address 2" : First device has address 1, so ignores this command and just sends it forward to next device in chain. Next device has address 0, so it takes this command and sets its own address to 1.
... and so on ...
So you'd either need a microcontroller with 6 + 2 (input data) + 2 (output data) + 2 (power+gnd) + 1 (on/off led) = 14 pin micro , or you could even do it with an 8 pin micro with auto address assignment.
You could do it with just one data wire, by sending the signal at a fixed frequency but ethernet cable is cheap.
As for turning on and off ... with just 12v you could just use a npn transistor or mosfet to turn on 12v to the led bulb. Save money on relays, put more money on the ethernet cable and the light bulbs.