you can summon an armor stand at the position you want
use the command
/execute at @e[type=armor_stand] fill (x, y, z) (x, y, z) air replace (block you want to remove)
repeat this command to destroy the blocks you want it to break around it
then use
/effect give @a[distance=..(put radius here)] instant_damage (add damage level here)
then add
/execute at @e[type=armor_stand] run summon creeper ~ ~ ~ {Fuse:0,ExplosionRadius:0}
then
/kill @e[type=armor_stand]
it should look like this (in order to achieve multiple commands, you can use chain command blocks)
/execute at @e[type=armor_stand] fill (x, y, z) (x, y, z) air replace (block you want to remove)
/effect give @a[distance=..(put radius here)] instant_damage
/execute at @e[type=armor_stand] run summon creeper ~ ~ ~ {Fuse:0,ExplosionRadius:0}
/kill @e[type=armor_stand]
if you are already using armor stands, you can use other entities as well!
explanation of the commands:
/execute at (place or entity you want to make the explosion at) run summon armor_stand ~ ~ ~
summons an armor stand at the position you want to make the explosion at, this will be the target for the other commands
/execute at @e[type=armor_stand] fill (x, y, z) (x, y, z) air replace (block you want to remove)
runs a fill command at the armor stand that will turn the blocks you want to remove into air
/effect give @a[distance=..(put radius here)] instant_damage (add damage level here)
damages players in a radius with a certain level of damage
/execute at @e[type=armor_stand] run summon creeper ~ ~ ~ {Fuse:0,ExplosionRadius:0}
summons a creeper at the armor stand that instantly explodes but doesn't damage any blocks
/kill @e[type=armor_stand]
this will kill all armor stands (you can't just have them lying around, after all!)
just out of curiosity, can i help out on the server?