a multiplayer game of parenting and civilization building
You are not logged in.
You're a wizard, Harry!
I ask because I'm not seeing the same problem with an updated client and server. Weird.
You've checked the serverCodeVersionNumber.txt file in the server directory, I assume? Is it set to 90? If not, try that. If it is, maybe try changing it to 93 to see if you can connect.
You might have the old version of the server still running. Try rebooting the VM then start the game server again to see if you can connect after that.
The latest version of the server is v90. You can see the list of server releases here:
https://github.com/jasonrohrer/OneLife/releases
The build script pulls the version number from the most recent tag that ends with "v##", so 90 is the latest version number.
I am not sure why you're seeing that error looking for a stack.cpp file - I don't see a file with that name in the current build. If you haven't already, you might try running the refreshBuildScript.sh and pullAndBuildTestSystem.sh scripts to make sure you have the latest code.
It does look like the update script is now "convertDBs.sh", so you can try that instead:
./convertDBs.sh
Did makeDBConvert run without any errors? That's supposed to create the updateDBs.sh script.
I'm sorry about the disk allocation on the image - that was a dumb mistake on my part. I'll get new images up soon, it's been a busy couple of weeks.
And great post, Roolstar, thanks for putting those instructions together.
My client and Ubuntu server run the same version. How do I convert existing databases to a new update, so that items don't show as something else (like a berrybush that is picked, changes to a pie etc.)?
You can try going into the server directory and running these commands:
./makeDBConvert
./updateDBs.sh
Hope that does it!
You might also make sure the old version of the server isn't still running. Easiest way to do that is to reboot the VM. The latest version of the server (when I post this) is 78 - check inside the file Ilap mentions above (serverCodeVersionNumber.txt), and if it's 78 or higher, then it's almost certainly that an old version of the server is still running on the system.
If you have a version of the image with a "refreshBuildScript.sh" script in the ohol-build directory, run that, then try the pullandbuild script again. If you don't have the refresh script, go to the ohol-build script and run this command:
wget -N https://raw.githubusercontent.com/jasonrohrer/OneLife/master/scripts/pullAndBuildTestSystem.sh
That will grab the latest version of the pullandbuild script, which got updated with a couple commands that might help clean things up behind the scenes. Even if it says that it didn't update anything after you run it, try restarting the game server to see if it helped.
And just in case you haven't: Try switching your game client to use the main servers to it will update to the latest version, then switch back to using the custom server and try again.
Another thing to try is to go into the OneLife/server directory and run these commands, then restart the game server and try again:
./makeDBConvert
./updateDBs.sh
If that doesn't do it, restart the VM just to make absolutely sure there isn't a copy of the game server running.
Then if all else fails, you can remove the existing world data by going to the OneLife/server directory and running:
rm *.db
rm testMapStale.txt
And at that point I'll be out of ideas, so I hope something worked.
Weird, but glad it worked. If the last image you downloaded didn't have the refresh script, let me know and I'll re-upload the newer image.
You're the guy who spent his 60 mn making clothing for the rest of the colony but irl.
That might be the nicest thing anyone's ever said to me. You're very welcome.
Did you try making a test map with the editor, per the instructions? I have no idea if that makes a difference, but if you haven't, it could be worth trying.
it should be:
cd OneLife/server ./OneLifeServer
You're quite right, given where the instructions would have you be. I'll change it, thanks!
Glad it finally worked!
You don't even see the connection attempt in the server's output? Weird. You might check the port forwarding to make sure it's still set up right, and maybe even try rebooting the VM. Those are my last ideas, alas.
Hm, bummer. I added a "refreshBuildScript.sh" script that redownloads the pull script to the images - they're uploading now. That's the only major change made to the image, no need for a redownload.
The script just runs this command (which you can run in the ohol-build directory to get the latest pull script):
wget -N https://raw.githubusercontent.com/jasonrohrer/OneLife/master/scripts/pullAndBuildTestSystem.sh
When I ran it on a VM where I'd already updated with the old script I got the messages that said it was already up-to-date, but the script still made some changes (like setting the contents of the version file to 72). I hadn't been able to connect with the client before, but when I stopped the server and started it up after running the newer build script, I was able to connect.
It looks like Jason sneakily updated the pull-and-build script to change the way stuff's put together. For existing servers, you can replace the contents of the pullAndBuiltTestSystem.sh script with the script here:
https://raw.githubusercontent.com/jason … tSystem.sh
Once you've replaced the text, run the script. It sets serverCodeVersionNumber.txt to 72 right now, but that still seems to let my updated client connect to it.
I'll get the images updated to use the new build script.
Not normal. Are you sure you got the right architecture (64-bit for a 64-bit OS, or 32-bit for a 32-bit OS)?
I'll add a note about that. Thanks!
The "ip a" command should show you the network adapters configured on the VM, so it won't show your computer's IP address there - just the addresses being used by the VM. The adapter in "bridged" mode should be asking your router for its own IP address on the LAN, which is why that's different.
If you have more than one network adapter on your computer (a wired connection and a wireless adapter, for example), you might make sure the bridged adapter is using the right adapter (click the name to see a drop-down menu).
If you haven't already, I'd try pinging one computer from the other, or seeing if you can mount a share from the other, just to make sure that the computers can actually connect to each other on the LAN.
Otherwise...yeah, I'm not sure what else could be going on. You can try searching for "virtualbox LAN connection" to see what you can find in the way of tutorials or explanations on StackExchange. You might find answers from people with more experience troubleshooting it than I do.
Update: I added a 32-bit version of the image, and also tweaked the 64-bit image a bit.
The main changes are the addition of a GUI text editor (Mousepad) and installing the Guest Additions in the image. The Guest Additions let you share your clipboard with the VM (handy for copying and pasting) and should let you resize the VM window and have the VM's desktop adjust accordingly.
You can install Mousepad on an existing VM (so you don't have to download a new image) with:
sudo apt-get install mousepad
And the Guest Additions can be installed on an existing VM by going to the Devices menu and selecting the last item (Insert Guest Additions CD image), then going into a terminal and running these commands:
sudo mount /dev/cdrom /media
/media/VBoxLinuxAdditions.run
When it's done, reboot the VM and you should be able to enable the shared clipboard via the Devices menu.
I doubt I'll have occasion to make more changes to the images, from here it should just be a matter of running the pullAndBuildTestSystem.sh script when the game updates.
The port forwarding I set up in the instructions only accepts connections to localhost (127.0.0.1). You could try adding another port forwarding rule similar to that, but using the main IP address of your computer for the "Host IP" (with everything else the same).
Another approach would be to shut down the VM, then go to its Network Settings, then enable a second network adapter and set it to "Bridged" mode. That should let the VM get its own IP address on the local network. You can check it by starting the VM back up again and running "ip a" to see if there's a new IP address that matches your LAN.
Note that you might need to open port 8005 in your computer's firewall to let the connection through as well.
Sounds good to me, but I won't be the one to do it.
I haven't messed with Docker a lot but have been using VirtualBox for a new job, so I ran with that. I imagine problems will arise less from the image or container than from new server admins needing to get used to the game update cycle.
I'll update the instructions, but basically I'd imagine the problems come from the update. If you use the latest client with the server on the image there are probably Issues.
I'd suggest stopping the server with control-Z (in the terminal you're running it in), then cd your way to the ohol-build directory, then run the pullAndBuildTestSystem.sh. Basically, that looks like:
cd ~/ohol-build
sh pullAndBuildTestSystem.sh
That will download the latest server code and compile it. When it's done, try running the server and see if it works any better.
If you need to update the client to the latest version, change the value in useCustomServer.ini in the client's Settings directory to "0", then launch the client and log in to the game to auto-update, then quit and set that back to "1" to connect to your local server again.
Note that if you see a socket error or the like trying to launch the server, then the old server might still be running (that can happen if you double-click the server in a file browser window). To fix that, go into the terminal and type:
ps -ef | grep OneLife
If you see a line with "./OneLifeServer" in it, then it's running. Make a note of the first number in the line so you can kill it. If that number were 12345, for example, run:
kill -1 12345
That should tell the server to shut down, then you can start the newly-updated server in its place.