Tried my hand at implementing a simple day-night cycle. It wasn't hard to rotate a directional light around the world with the target at the origin (0, 0, 0). The light color and intensity, as well as the ambient color, is a function of the sun's normalized height over the horizon (z-axis 0 in this case) as a proportion of the rotation radius (just larger than the world). The non-linear change on the z-axis makes it get up to nearly full intensity quickly (but not quickly enough? IDK). The sun object is actually drawn as rotating around the player position, with the depth buffer disabled and drawn after the skybox but before any meshes, so as to always appear the same size, in the same direction, and behind everything. The formulas to calculate the light color, intensity, etc. are complicated and I'm not entirely satisfied with the result; I may end up just lerping between a few hand-picked values based on time of day (sun angle).
Things will also need to be tweaked for gameplay purposes. I want night to be dark, like real dark, not videogame dark, so having a sun moving at a fixed rotational speed will give me a night length equal to the day length, worse, if surrounded by mountains or tall forests. Which I don't think will be a good idea. Especially if I do things like making some shops close their doors or the dead come to life at night or something. Speaking of which, I'm going to need to think about the length of a day in real world time too.
Not sure yet. A large part of the gameplay will be exploration and discovery, hence my focus on keeping secrets secret, by not giving the client any more information than it needs at any given time, streaming world assets as they are discovered, and such. Turning the whole thing over to the community right off the bat would instantly spoil everything. Releasing only the "engine", as in the client and server code, without any of the assets and database contents, would also be rather useless, as anyone trying to make original games with it will be years behind the official server in terms of knowledge of the internals and asset development, and would get very little players. That said, I don't believe that MMOs should try to milk their content forever, by trying to release expansion content faster than their players can consume it (impossible), or by re-releasing the game by starting new servers with the original game content and re-releasing the expansions every few months or whatever. But Everquest and WoW are guilty of this. Project 1999, the free-to-play EQ emulator, takes a different approach: provide the content for the original game and first 2 expansions, then leave it at that. People have been playing that shit forever. To get to the point, I would aim for a base game + 1 or 2 expansions to address some deficits of the base game or to expand the game in the direction of the player meta, with some kind of resolution, not in terms of "story", but completeness as a game. Then, keep the game on maintenance mode while developing a sequel, using as much of the original code as possible, with a new world and different and improved gameplay. If you're married to your character and don't want to have to "start all over again", you can keep playing "MMO 1", and be max level and beat 100% of the content, see all the secrets, get best in slot gear, whatever. If you're done with "MMO 1" and you want more of the same experience - discover a new world, figure out the gameplay and the way your class plays, do it all over again, you can move to "MMO 2" when it launches. I have to do some more research to see if any other games managed to do this. Everquest did something similar with Everquest 2, but things were complicated then. They were bleeding subscriptions to WoW, plus most of the original dev team had left or split off to work on Vanguard, another MMORPG. In my opinion, EQ2 deviated too far from the EQ formula for EQ players to be comfortable with, and the pursuit of "realistic" graphics, which was all the rage in those dark times (and these for that matter), didn't help them.
As for letting people run their own servers, I don't know. A source release will definitely happen, as well as enough resources to get an original game up and going - documentation, tutorials, example zones/scripts/database/etc. Perhaps like I mentioned above, releasing just the source might "buy enough time" to run the official servers for a few years before the community "catches up" and releases competing titles. We'll see.