You see it spammed across the web private servers for Wow but to be honest there all same and some are better than others HOWEVER they all get boring in 2 days .
To make people stay on your server longer you must:
1. Dont make the rates to high! (they'll get to level 70 and get all there fancy gear on first day , which is crap! and get them bored)
2.Dont add custom gear what has stupid stats and names, like 600 stamina or a name "the leet sword"
3.Make your server have its own theme and make everything tie in together.
Such as make Quests that have a good gripping story what builds up.
4.Item sets are good but not when there 20x better than tier 6. Since all items are in the game arnt designed to be way better than the mob's stats otherwise you get bored owning all time TRUST ME!
5.Make people earn there gear! Work their balls off. But not to much so its like the retail servers. So dont make custom malls because of this reason. It's WAY more fun earning your own gear because it makes you want to show off your gear to people ,that you earnt it. Another factor why people would enjoy your server.
6.If your good with the "Lua" "moon++" and "the C++!!!" go crazy because you can make everything diffrent to other servers which is really good. .
7.Custom instances go down brillant if you include it with very good lore and try make tie in with the orginal wow lore because people dont like seeing other people make there own story up, as they get jealous you can make your own fancy instance with your own little story. (sadly this is what goes on with peeps minds)
8.Starting Areas are only good if there layed out well and enjoyable. So dont go making it look weird. for example spawning a church in mid air (well not that extreme)
9.Make sure people talk to eachother and help eachother because i been on alot of private servers and there a sense of every man for there self. If People feel no one is listening to them and feel everyone else cares about there own problems SORT IT OUT!
10.Ok flying mounts in Azeroth attracts lots of people because a massive amout of people looking for servers are crap player. Plus to see your server has flying mounts in Azeroth enabled makes them think,"wooo omfg your able to fly in azeroth !!!111" (This is a biggy)
11.If its not PVP then dont bother thinking of people joining your server in the masses.
12.Include Events! Like umm last man standing or survive the monsters. Because there really fun! people love them! Also makesure you give the winner of the event a reward, such as a item with their name on it or a legendary.
13.Have actuall good GM's (trust me they all say there good) who are there all the time helping people because theres always angry noobs moaning about somthing which aggro's everyone else on the server making them leave!
Get feedback of people!
1. Ask them why there going to leave your server
2. Ask them whats fun about your server
3. Ask them whats crap about your server
4. Ask them what should i include (if they say ubber items or big custom malls or somthing like that, ignore them because he a noob)
5. Finally ask them what fun about the retail version over your server (obviously the amount of people on the retail version makes people play the retail version but might be somthing else)
I hope this helps credits goes to me
P.S. DONT make custom malls this is the worst thing you can do.