По правде говоря, не вижу никакого смысла писать с нуля, так как в любом случае идет обращение к другим исходникам, что четко видно по коду. Тем самым велика вероятность наследования тех же ошибок и архитектурных просчетов. Лучше брать что-то готовое, ту же шару оверов, в которой, кстати, багов тоже гора и есть чем заняться. К примеру - элементарный ping-pong между LS/GS работает неверно.
С другой стороны - переделать гениальное творение в виде Player.java, к примеру, в котором десяток тысяч строк - и модель, и DAO, и сервисы - задача тоже не из простых) Люди, способные грамотно и системно решать такие задачи, пожалуй, и зарабатывать умеют другими проектами, т.к. л2 все же ближе к баловству или хобби. Вот и получается, что хороший продукт может получиться только из идейных соображений, потому как никто не будет работать на качество за копейки, тем более когда нужно, скажем так, количество в виде реализованных функций и т.д. А как они реализованы - какая разница.
В этом плане мне нравился проект aion-emu, конечно, там были dev'ы из мира л2, что было заметно, но все же были интересные идеи, которые никак не опирались на л2 код. Жалко, что команда распалась, тогда мог получится интересный продукт. В сфере L2, думаю, ждать ничего интересно и стоящего уже не стоит