это можно устроить, изменив метод раздачи времени.
Например, устраивать между потенциальными участниками чемпионат по шахматам/карате/прыжкам в высоту. Занявший в чемпионате более высокую позицию, получает ранний старт. Получивший старт в 11:40 идёт тренироваться к тыкве следующего года.
Пра-а-альна! Да, да - только так и надо распределять стартовое время! Но только зачем унижаться до шахмат там каких-то или карате ... даёшь предварительный чемпионат по ... городскому ориентированию ... N команд, показавшие лучшее время, получают лучшее стартовое время на следующем чемпионате по городскому ориентированию ... и снова показывают лучшее время ... и снова получают лучшее стартовое время, и так далее по кругу.
Даже если бы сервер сработал идеально, всё равно больше 30 команд старт между 8 и 9 в одной категории не получили бы. И кто будет эти 30 команд - решалось бы более или менее случайно - в первые пару секунд. В нашем случае это случайное решение просто растянулось на час. Неаккуратно, но честно.
Между прочим, я уже писал об этом - о том,
какие проблемы ждут участников, если сервер будет работать 100% идеально, при том, что количество желающих зарегитрироваться (вообще, или в определённые категории, или в определённый стартовый интервал) будет превышать количество свободных мест. Просто повезёт тем, кто пробьётся на сервер за первые 2 секунды, и не повезёт тому, что опоздает на 0,1 секунды в сравнении со "счастливчиками". И если общая ёмкость соревнований в Москве и в Санкт-Петербурге благодаря введению новых категорий допустимого предела пока не превысила, и, вероятно, уже не превысит, то ёмкость отдельных категорий зашкаливает и сейчас, а ёмкость отдельных стартовых интервалов (30 команд в час) вообще никак не может быть увеличена. Следовательно, никогда больше 30 команд ни при каких условиях не получит стартовое время с 8 до 9 утра, разве что сервер из-за накладок выдаст новые глюки, поставив всех зарегистрировавшихся на 8.00 утра (как с ним уже бывало).