extend a source with your own stuff until you know how it works. Then try making it yourself. Fail, because that's what live is. Continue with some other parts, try again, etc etc, eventually you'll succeed with a basic system. That's basically what I did. WvsBeta was based off a test source for my first C# server.
Note: I started adding things in C++ sources (TitanMS/Vana), and after a while trying to make my own stuff in C#.
You could also try doing some stuff with MapleLib, so you can at least try the easy bits.