-
Content Count
29 -
Joined
-
Last Visited
Content Type
Profiles
Forums
Omnibus
News
Features
Downloads
City Journals
Calendar
Gallery
Everything posted by jmak
-
Hello, Over the last few weeks I have been developing a multiplayer region system for SimCity 4, which I have named Poppy Multiplayer Regions (PMR). Now that it has reached the Release Candidacy stage, I would like to share it all with you. You can register for an account and download the second release candidate of the PMR Launcher at http://getpmr.com/ Of course, you probably do not trust programs from unknown developers. So, I have also provided the Python source code at https://github.com/cizmic/pmr-client for you to review and run. What makes PMR different from Dropbox regions? Primitive multiplayer regions have been explored in SimCity 4 for quite some time in the form of shared Dropbox directories. While they worked most of the time, these regions had three major flaws: No city permissions. There was no real way of protecting one's saves from others, since Dropbox regions were typically configured to handle permissions only at the directory level. As a result, most regions were strictly private. Adjacent save overwriting. In every save operation, SimCity 4 doesn't just modify the current tile, but also the adjacent tiles. Because of this, it was previously impossible for two players to play in adjacent cities at the same time. Complicated setup. This isn't such an issue for powerusers, but configuring SimCity 4 to run from the Dropbox path was tricky for many newer players. PMR overcomes all of these issues by having a server and launcher that are specifically designed for SimCity 4 regions. I have attached a diagram that shows how the saving system allows for city permissions and adjacent playing. How to try PMR out If you want to try out Poppy Multiplayer Regions, just follow these steps: Register for an account at http://getpmr.com/join Download the launcher from the PMR website, or download from the STEX Install and launch the client. Then, connect to a region and log in with your PMR account. The PMR Launcher does all of the synchronization and launching for you. You can view the Readme file that installs with the launcher for more information. How permissions work in PMR PMR uses what is known as a claims system. In this system, you can only edit cities that you have claimed. All other saves will be ignored by the server. To claim an unoccupied tile, just save it; you can find unoccupied tiles in the Launcher Map that pops up whenever you connect to a region. Choose wisely -- you can only claim one tile per region, and you can't abandon a claim. What's next? PMR is still a work in progress -- the launcher is still a Release Candidate. I've ironed out most of the kinks, but there still might be some small bugs and errors. I'd greatly appreciate it if you could try out the launcher and give me feedback to improve it. So far, there is only one region ("Anise") that consists of 36 large tiles. I'm not sure how quickly this will fill up, but when it does I will expand it or add another region. A note on plugins PMR synchronizes plugins, and I've included my Underwater Ferry Connectors in the Anise plugins set to demonstrate this. Since redistributing others' plugins requires explicit permission, I am wondering if anybody is interested in having their plugins added to the Anise region. Thanks, and have fun!
-
Version 1.0
535 Downloads
In order to use this launcher, you will need to register for a PMR account at http://getpmr.com/join Poppy Multiplayer Regions (PMR) is a new multiplayer solution for SimCity 4 that allows for save protection and adjacent tile editing. The PMR launcher automatically synchronizes regions and launches SimCity 4 for you -- all you have to do is choose a region and log in. To learn more about PMR, please see my post on the forums. There is also a Readme that is installed along with the launcher.- 7 Comments
- 2 Reviews
-
- 7
-
-
- simcity 4
- multiplayer
-
(and 1 more)
Tagged with:
-
Hi everyone, I'm sorry for not being able to release this server code sooner. I was originally planning to rewrite the server code for public release, but I never got the time to do so because I've been really busy with uni and other life obligations. But several people have asked me for it over the years, so I suppose I can just release it as-is. Better than nothing, I guess! The biggest issue with the client is that it is hardcoded to point to the defunct PMR server. You can easily change this in the first few lines of the launcher source code, and I might make a last version of the launcher that allows you to choose custom servers if I have the time. **I am releasing this under the MIT license, provided AS-IS and use at own risk** ~ ~ ~ Hello, Here it is. I’ve been meaning to release the server source for a while now, but I never got around to making it more portable, so you’ll have to set it up manually on your server (you will need a web server with PHP/MySQL): https://drive.google.com/file/d/1-RGr3820NssS1Dzx6U_JcvZQhai9KyIh/view?usp=sharing 1. The database schema that the PMR software uses is defined in “___DBSCHEMA.sql” — you can use this to generate all the tables you need. 2. To connect to your database, fill in “sys/meekro.php” with your database credentials. 3. To add a region to the database for the first time, place the “.sc4” files in the “dat/import” folder and run “___PREPREGIONS.php” 4. The PMR client is hardcoded to point to the now-shuttered PMR server. To get around this, you can: a. Download the client source from GitHub, edit the PMR_SERVERPATH constant (here), and run it using Python b. Patch your hosts file to redirect from “api.getpmr.com” to whichever server you are using 5. To add users, register through the “___ADDUSER.php” file (I ripped this from the main server’s join page but it should still work) This is a bit cumbersome because this version was never intended to be publicly released, but it should work on other servers. If I ever manage to polish this up I’ll let you know. Best of luck. Julian pmr-server-a.zip
-
Hello again, the newest version of the PMR Launcher has just been finished! You can get the latest version from http://getpmr.com/download or from the STEX. The biggest change in this update is the ability to use your own plugins (such as NAM and others) with PMR! Take a look from the Basil region: As I've mentioned before, I could never really bundle NAM into the synchronized region plugins (even though the very kind NAM Team gave me permission to do so) because it's too large for every player to download from PMR. So, instead of downloading those plugins from PMR every time you load a new region, the client will just use your local copy. To set this up, simply move the plugins you want to use with PMR from your "SimCity 4\Plugins\" folder to the "SimCity 4\Plugins\_PMR\Plugins" folder that PMR creates. This way, PMR can access these plugins when running SimCity 4 from its working path, and you can still use these plugins when PMR isn't running (since the PMR folder is located within the standard plugins folder. This might all seem a little convoluted, but to me this sytem appears to be the best compromise so far. I suppose the client could do some of this automatically, but I know many people have their plugins folder organized a certain way, so I don't want the launcher to be messing with that stuff without the players being aware. Another small drawback is that user plugins cannot be synchronized, which may lead to some brown boxes / blank tiles when viewing other people's cities. Oh well... Let me know how it works, or if you have any questions. Thanks again! That sounds like a great idea! Here's an instant invite link, let me know it works or if you have any suggestions: https://discord.gg/ppAmeKf Awesome, glad to have you back! I just released version 1.0.0, which might be why it's throwing that notice (or it could be a small bug with the way the launcher handles user agent headers).
-
Hello everyone, I just wanted to share that another region "Basil" has been added to PMR, with 49 large tiles this time. Things have slowed down these past few months but I realized the Anise region is full and there are still many other players creating accounts, so now there are more free tiles. Also, if you claimed a tile in Anise you can still claim one more tile in Basil. I'm also working on polishing the server software so that other people can run it on their own servers (private regions etc) -- expect updates soon!
-
Yes, I’ve noticed this as well. It seems that RCI demand is fluctuating very widely because of the region’s explosive growth. (Adding thousands of CO$$$ jobs in one city can destroy demand for that in another city) I’ve been toying with the idea of overriding the default RCI mechanism to make it less volatile, while still responding to regionwide trends. What do you all think?
-
It's been a while since I updated the server software, so here goes. One of the many perks of tying SC4 cities to a database is that you can attach metadata to saves very easily. In this case, I have added the capability to log RCI populations with each save. I also retroactively grabbed these values from previous saves, allowing me to construct this quick population graph of the Anise region: So far only aggregated RCI populations are saved. However, I should be able to break things down to the $/$$/$$$ level, which should allow for some interesting statistics (maybe even a way to calculate regional GDP). P.S. Anise broke through more than 1,000,000 sims today, woo!
-
When exiting the PMR main window, clicking out the 'x' I also get an error message. Maybe needs an 'exit to system' subroutine and an 'Exit' button? This is a known issue, and seems to be caused by one of the launcher’s threads not closing properly on disconnect. This is perfectly harmless (since you’re already disconnected at this point), but I am definitely working to fix this for the next release. This also seems to be a bug: the launcher copies new plugins on top of each other instead of clearing the folder when a new version of the plugin pack is loaded. Just as with the first one, this is pretty harmless since duplicates don’t really change the behavior. However this is also planned to be fixed by next release. Glad to hear that! Since activity seems to be stabilizing with just under half of the region tiles claimed, I will probably increase the claims limit to 2 tiles/player soon. Will keep everyone posted.
-
Yep. Here's an extreme case from Quince, a city in PMR. This was taken when the city was completely new and without any significant jobs or population (so all traffic is just passing through): (Side note: Check out those starting RCI values! That's what you get in a diverse region of >100k) You bring up a good point about other modes of transport, and how sims generally avoid skipping tiles with those. It might have to do with the simulator's time cost -- I don't have the values on me, but I remember reading somewhere that very long ferry distances don't translate to particularly long commute times in-game. But the SC4 traffic simulator workings are still quite mysterious to me so I can't say for sure. Yes, I noticed this could certainly be an interesting feature of multiplayer SC4! I wonder if these can be set permanently if both neighbors agree to the same mayor deal and save around the same time (so the deal is reflected across both tiles).
-
Wow, amazing work! I didn't even know those properties existed in the game -- I had always assumed the reconcile tool could never be tamed. I've included your mod in the PMR plugin set, so everybody should be getting it the next time they sync. (I also included attribution to you in the Credits.txt file that is packed with the plugins). Thanks again!
-
Hey everyone! I just wanted to let you all know that I updated the plugins for the Anise region. I just added the NAM Traffic Simulator (set to the default Maxis-like values) and NAM data views since they fix a lot of gameplay issues without changing things too wildly. I want to add more NAM components eventually, but they are quite hefty in terms of filesize (the controller alone is about 80 MB) so I'll have to see about that. Let me know if there are technical issues with these new plugins. (There's no need to worry about irreversible damage, since every save can be rolled back on PMR) Glad you hear you're enjoying everything! Once Anise gets close to filling up, I'll probably add another region. The claim limit is only per-region, so if a new region were to open, you could claim another tile on that one as well. Speaking of which, I might make some modifications to the claims system, or even expand the number of tiles per player. This is all still a work in progress though, so I can't promise much yet. I'll keep you all posted though! Great points here. I, too, can't wait to see what we uncover
-
Wow, that looks really amazing! Kudos to all of you skilled mayors. I'll finally get started with my Quince tile tonight, ha-ha. That was my line of thinking as well. I also like that this solution allows for experimenting with your offline saves -- you can log out of the PMR launcher and make edits to your city that will be reverted, like a sandbox of sorts. I'm always open to hear what others think, though. The underwater ferry connectors are used to bridge ferry routes across all-water tiles. Sims will actually take the ferry across many tiles to find a job, provided that there is a continuous route connecting the residential and commercial/industrial tiles. However, ferry terminals must be placed in every connecting tile for the line to continue running. In some tiles (such as all-water ones) it is impossible to place a ferry terminal so the line is broken. With the underwater ferry connectors, however, the lines can be bridged across these all-water tiles. Here's what that looks like (the connections actually work and carry sims across all those tiles!)
-
Yep, I believe that's what's going on here. If anyone else is still skeptical they can certainly look at the source code and build it themselves (https://github.com/cizmic/pmr-client) I assure you, the only non-friendly thing here is SC4 and its pesky launch behavior!
-
Hi everyone, I just pushed Release Candidate 4 of the launcher to the STEX (Direct link to GitHub download here). I normally wouldn't bump the thread for this, but this is a pretty important update. Please update to RC4, even if you haven't experienced issues yet. There seems to be a bug with the threading mechanism in previous versions that would stop the launcher from working after running for a certain amount of time. RC4 completely fixes this issue and consolidates all of the recent hotfixes. Thanks!
-
Congrats on being the first populated tile! Since PMR is pretty new the region hasn't really had the chance to develop. I expect that we'll see more activity as the launcher rolls out smoothly to other players and becomes more well-known. I might also increase the number of tiles a player can claim so the region develops more quickly. I just connected to check things out, and it look likes your claim is all confirmed. Can't wait to see what you build!
-
Glad to hear it worked on your end, I checked the database and your saves went through without a problem! Completely agree. I think that SimCity 4 is just too picky with the launch flags to always open correctly on every machine, so I’ll just bundle some sort of explanatory guide with the launcher. That way, even if SC4 doesn’t open correctly on its own the users can still configure it manually as you did. Thanks again for your patience and helpful feedback; I’m glad we were able to get the launcher working again
-
That's correct! I just tested out the launcher on a non-DRM version of SC4 (which should behave closer to the GOG version) and it seems to work. I think you were right about needing a proper setup, so I bundled the latest hotfix into an installer. You can get it from https://github.com/cizmic/pmr-client/releases/download/rc3/launcher-rc3-hotfix4.zip (To be extra sure, I suppose you could delete the "SimCity 4\PMR Launcher" directory before running it so everything is 100% fresh) Hopefully the SC4 opening will work this time! If not, at least we know that the flags need to be escaped in a certain way before SC4 will even let itself launch. Even if we can't call the SC4 process directly, I could always explore some other methods (such as launching from an autogenerated batch file or shortcut as I described earlier).
-
Hmm. The copying shouldn't be an issue, I just think that latest build messed up with launching the game (I guess the flags needed to be double-escaped after all). I'm suspecting these wild differences in flag passing behavior between Steam copies of SimCity 4 and other versions has to do with the DRM that Steam is injecting. Unfortunately I can't be 100% sure since I don't have a DRM-free version of the game currently installed on my computer. I do have some old SC4 disks however, which should behave just like the GOG version since there's no DRM involved as far as I know. I'll try installing that and testing it out; will keep you posted. In the meantime, you could always try setting the multiplayer region path manually by editing the launch flags for SimCity 4. You can duplicate the shortcut and append the following to the Target field (under Properties): -UserDir:"C:\Users\[USERNAME]\Documents\SimCity 4\_PMR\" If you launch SimCity 4 that way, it should run in the _PMR folder and the launcher will recognize saves if it's open. Thanks
-
Okay, so this seems to be the heart of the issue. The launcher should have launched SC4 with a "UserDir" flag so it opens the _PMR\Regions, not the usual one. Looking at the source code, it appears this is caused by the "UserDir" flag being escaped one too many times. I think I've corrected this issue with this third hotfix (https://github.com/cizmic/pmr-client/releases/download/rc3/launcher-rc3-hotfix3.zip). If you could try that one out I would greatly appreciate it The reason this happened is because you moved all the files back, so the launcher detected changes in every city in the region. The launcher isn't that smart, so it was trying to upload every single city in the region, haha I've checked the server and everything is okay, so no worries. Fingers crossed, hope this latest build works!! (If worse comes to worse you'd have to add the UserDir flag manually to your shortcut which isn't horribly tedious but let's see if we can get automatic working first)
-
Thanks, that helps a ton! So RandyE I would try setting the SimCity 4 executable path (from the "SC4 Settings..." in the launcher) to the following: C:\GOG Games\SimCity 4 Deluxe Edition\Apps\SimCity 4.exe Of course if you installed it to somewhere else then you can adjust that path accordingly. Now that I know about the default GOG location, I'll add that to the set of paths that PMR automatically searches for future releases. Thanks again!
-
Sorry for the confusion, I only suggested moving the regions to test whether the launcher was setting everything up correctly. (In your case, it seems to be) The launcher should, in fact, launch SimCity 4 on its own and point to the Anise region in the actual "_PMR" folder -- it only looks in there for updates. You shouldn't have to switch the files manually, since the launcher should run SimCity 4 automatically so that it points to the "_PMR" directory. When you connect to a region, does the launcher automatically start SimCity 4 for you? If so, then you can try claiming a city normally since it should all be set up correctly. If not, then does the launcher give you any error? I'm not familiar with GOG so maybe your SimCity 4.exe file is located in another directory -- if that's the case you can tell the launcher where it is under "SC4 Settings..." from the main launcher screen
-
That's interesting, thanks for the report. If I understand correctly, SimCity 4 launches into the "[PMR] Anise" region and the Launcher Map opens, but the launcher isn't recognizing your claims?
-
First, I'm glad to hear the launcher could get the region loaded! Yes, it looks like you found another bug -- according to the server logs, the center (unoccupied) tile was never pushed for some reason. I'm suspecting it's because of file event handling differences between computers. Can you try this newest build (https://github.com/cizmic/pmr-client/releases/download/rc3/launcher-rc3-hotfix2.zip) and let me know if it works? Fingers crossed, I think I've finally squashed all the major bugs here. As always, thanks so so much for your patience!
-
Yeah, there have been quite a few bugs with the SimCity 4 run code on the launcher. I was able to reproduce your problem (two blank regions) when the "UserDir" flag was incorrectly passed to the SimCity 4 executable, so I think that is what's happening. The fact that the launcher is otherwise downloading regions correctly supports this theory as well. Could you try downloading a new special build of the launcher (from https://github.com/cizmic/pmr-client/releases/download/rc3/launcher-rc3-hotfix1.zip) and trying that out? You don't have to install it; just extract it anywhere and run "pmrclient.exe" I revamped the problematic code so it should work correctly now. If it doesn't, I would greatly appreciate it if you would let me know. Thanks again for reporting this issue: this part of the program is very tricky to test, so your feedback is very helpful! Good point regarding neighbor tile resets. Looking at it this way, you're right that the player would be at the mercy of their neighboring claims, since the only way the connections would be useful is if neighbors explicitly collaborated. I like the idea of earning extra tiles, especially surrounding ones -- it reminds me of a similar mechanic in C:S that is quite popular. I think that we will certainly want to steer to a system closer to that in future releases -- I really like your ideas! Though for the time being I have to squash these pesky launcher bugs (I just realized that I was using a problematic subprocess library). At least the server software is looking pretty watertight so far...
-
Sorry to hear the launcher isn't working for you. It appears that something is going wrong with the config.bmp file, or maybe the launcher is not extracting the files properly. Did the launcher report any errors during the connection process? I would try deleting the Documents\SimCity 4\_PMR folder and running the launcher again as an administrator, if possible. If that doesn't work, could you try copying the region from (Documents\SimCity 4\_PMR\Regions) to your regular regions folder (Documents\SimCity 4\Regions) and seeing if it works when you load SimCity 4 normally? Again, I'm sorry about these types of errors -- given the finicky nature of SimCity 4 it's very difficult to test for these issues beforehand. As such I greatly appreciate your patience and helpful feedback!
