Yeah, your tank size is good but the setup is not so good for ciclids.
Don't just stack up a bunch of rocks in one corner because it will just mean that one of them will claim the whole lot as his own and lock everyone else out.
What you need to do is to create zones. Front/back/left/centre/right. If they can't see each other, they don't fight. Have either a rock wall (with caves) along the centre part of the tank extending from one side to the other and leave a decent gap behind as well so that the fish in the back can't see the ones in the front. If that is too hard then have three or more seperate piles of rocks so that they can claim individual caves and space. Don't set it up so that there is constant boundary disputes.
BTW, ciclids do interbreed within a specie so just because they don't look alike doesn't mean they will ignore each other, especially males.

The beaten up one should heal fairly quickly with good water, peace and quiet and some TLC. Probably not a good idea to reintroduce it until the tank is setup properly so he will get beaten up again.