I have the master server running on a Linux system on the local network. It seems to die after a while and has to be restarted (logs make me think maybe a there's a problem with the database keepalive), but it runs and seems to be working OK otherwise. The world server is also running on that same Linux system.
I have the patch files and HTML hosted on another Linux server on the web. It runs an Nginx web server with no fancy settings and has the sampleworld files on it.
Here's how the world table in my multiverse database is configured:
- Code:
-
mysql> select * from world;
+----------+--------+-------------+-------------------+---------------------+-----------------+-------------+--------+----------+----------------------------------------------------+---------------------------------------------+------------------------------------------+------------------------------------+---------------+
| world_id | dev_id | world_name | pretty_name | description | server_name | server_port | public | approved | patcher_URL | media_URL | logo_URL | detail_URL | display_order |
+----------+--------+-------------+-------------------+---------------------+-----------------+-------------+--------+----------+----------------------------------------------------+---------------------------------------------+------------------------------------------+------------------------------------+---------------+
| 1 | 1 | sampleworld | XangisSampleWorld | Xangis sampleworld. | 192.168.0.111 | 5040 | 1 | 1 | http://trollwarrior.com/patcher/world_patcher.html | http://trollwarrior.com/sampleworld/update/ | http://trollwarrior.com/Trollwarrior.png | http://trollwarrior.com/about.html | NULL |
+----------+--------+-------------+-------------------+---------------------+-----------------+-------------+--------+----------+----------------------------------------------------+---------------------------------------------+------------------------------------------+------------------------------------+---------------+
If I run the client this way:
multiverseclient.exe --master 192.168.0.111 --world sampleworld
Then it shows a screen and lets me log in.
If I run the client using only the master server like this:
multiverseclient.exe --master 192.168.0.111
Then it shows the Multiverse "worlds in progress" screen.
I checked the source for URLs and I didn't see any that corresponded to what was being shown for the worlds in progress login screen, so not sure where that comes from.
After I log in, it shows the patching page hosted on my web server and specified in the patcher_URL field in the database and starts downloading files.
When I first created the page it just said "Testing 1 2 3" and didn't have the required JavaScript and divs noted in the patcher wiki page here:
http://www.multiversemmo.com/wiki/Patcher_Page_ReferenceAfter updating the file on the server the patcher wouldn't load the new HTML. It looks like the .NET WebBrowser control caches pages and I had to start Internet Explorer and clear its cache to get the page to refresh in the patcher. It looks like this method could invalidate the cache:
http://social.msdn.microsoft.com/Forums/en/winforms/thread/1185f4cb-4ad6-418d-8cc1-3f405e13c18e I tried it and it didn't work for me, but I didn't dig too deeply. I suspect the easiest way to handle this is to set the expiration on my web server to something shortish (I think it's set at 30 days for static HTML pages in my nginx config). I imagine this will matter for people who want to change their patcher page when they add new content (I'm thinking along the lines of Star Trek Online, which does that).
It gets most of the way through the patch process and throws an error about a missing file.
Almost successful. I have some questions:
1. Where do the text and images for the login screen come from? Is it compiled into the binary or is it located somewhere?
2. Same question, but for the Multiverse "worlds in progress" world browser screen... where are the resources for that?
3. Should I be very worried about files not matching the patch list? The mv.patch file came from the same Media/sampleworld folder from source control as all the rest of the sampleworld resources I put on the patch server. It seems like I just need to do some cleanup to make the file contents match the patch config file exactly.