Years of experience in programming languages such as JAVA and C++ (Not neccessary to know both, depends on which language you plan to use, obviously. For the love of God, don't go with C# for games). You'll need experience in OOP (Which is a must), complex (event-driven) software architectures, graphics programming in OpenGL and/or DirectX, high scalable asynchronous TCP/UDP networking, multi-threading, basic I/O (If using JAVA, you'll need experience in NIO aswell), functional programming and more.
If you plan to use a ROM like this MMO, you'll have to invest a lot of time in reverse engineering the ROM, learning about ROM CPU instructions and such to properly emulate the game.
Experience in scripting languages such as Ruby and Python is nice.