Solution is simple - add a rollcall like clans do.
1) 20 mins before the Battle starts everybody accepted onto the roster at that point gets an invite that they must then confirm on the Battle application page.
2) At the same point in time the pending list gets cleared out, but anybody who is around may re-apply for the Battle
3) 10 mins before the Battle anybody from part 1) who hasn't confirmed their place gets chucked out and their places get offered to the best people from part 2)
If there are only meant to be 30 defender for a village then the neutral Roster should be reduced to around 35 which should account for the odd person who has a RL issue that crops up.
1) 30 min before battle confirmation request
2) till 5 min before battle, every minute server checks for confirmations or decline, those who decline get removed and replaced by pending applicants
3) 20 min before battle all who didn't confirm or declined get kicked and replaced by pending applaicants
4) repeat 3) every 5 minutes with those who got newly accepted(the former pending applicants)
still there needs to be more attacker slots or less defender slots for AI village attacks( does it now only count for AI villages or for AI castles/towns, too?) OR the
army size gives more additional slots like every 100 troops +1 slot for attacker with base 30. if i attack with 1500 troops i have then 15 additionally slots. Army sizes with 3k troops +, would then give a full roster, which is tough to reach anyway as that costs a shitload upkeep. (or 40 base, +1 for every 120 troops)
bugs atm:
- autoreattack
- 0 amount items