My neighborhood during the January snow storm before anyone had started clearing out snow on the second day:
A quick thank you to the developers of OBS for adding the latest features in OBS Multiplatform 0.13.1. It was already a great platform, but with Studio Mode and video sources starting anew when going to a scene, it is near perfect for my use. All this by volunteers and for all three major OS platforms: Windows, Mac, and Linux! It is now extremely competitive against XSplit and competition among software devs always leads to better stuff for users!
Scarlett wanted to play with sidewalk chalk. Here’s what I drew:
They always say to use a little extra cable because you’re going to kick yourself in the butt if you’re short by an inch. But this is a bit ridiculous in terms of how much slack they have.
I believe that’s the cable for the traffic camera on this intersection. After seeing it a few days in a row during part of my commute, I just had to take a photo to share just how much slack they have here.
The other day I posted about how the upcoming snow storm had emptied Costco. Here are some photos from the day:
Scarlett had been dying for winter to get here so she could play in the snow:
The front loader that came to clear the snow turned our cul-de-sac into a roundabout:
Because I’ve staggered the publishing of new videos on Youtube, not all of them may be visible on the embeds in this blog post on the day it goes live. For example, I think I created 14 videos for Torchlight in January, but at the moment only 11 are live.
Torchlight (23 hours):
I decide to check out this spiritual successor to Diablo, having never played Diablo. It is a nice game to play after stressful day – just clicking on bad guys and traveling around without much thought.
XCOM: Enemy Unknown (really Enemy Within) (6 hours):
Having just finished Enemy Unknown, I didn’t think I’d want to play the Enemy Within expansion any time soon. But it adds enough new mechanics and missions to make it feel like a different game.
Civilization V (2 hours):
Dan and Dave have stepped up their turn-taking so we start to make some progress.
Civilization: Beyond Earth (2 hours):
I started up my second game in Beyond Earth. The first few turns were a bit blah – I don’t have as much affinity to Beyond Earth as I have to vanilla Civ – but eventually it became a classic “one more turn” game.
New Super Mario Bros (2 hours):
Scarlett and I start playing this game and hijinks immediately ensue.
Pixel Piracy (45 minutes):
It’s not for me, but at least I gave it a shot.
Botanicula (30 minutes):
The art style is great. The puzzles are crazy. The world is like an acid trip.
Cthulhu Saves the World (26 minutes):
I’m on the fence on whether I’m going to like this game or whether it’s being a bit too cheeky.
One of the great things about Steam and the internet is the cloud save. It means that you can go from computer to computer and, as long as it’s connected to the Internet, you can pick up your game where you left off. In my case, I have a Windows computer and a Linux computer both capable of running games from Steam. I wanted to see how well XCOM was ported to Linux so I launched it and didn’t have any of my saves! It turns out that the saves are in a folder called SaveData on Windows and savedata on Linux. (In the path: ~/.local/share/feral-interactive/XCOM/XEW – remove XEW if it’s not Enemy Within) Those aren’t the same thing in Linux. So you need to delete the folder savedata and then make a symlink to SaveData where the symlink is savedata. Once you do that it works perfectly. To give credit where it’s due, here’s the forum post where I fond the info.
I guess I shouldn’t be surprised that all the digital stores would move in this direction, but I was surprised to see that GOG has come out with their version of Greenlight: Games in Development.
At least I can get Greenlight-quality games with DRM-free and if it completely sucks, I can get a refund.
I used to have a Team Fortress 2 server on CentOS 6 with Virtual Box. Now that I’m using KVM/QEMU/Libvirt, I wanted to set up a new one. Also, Valve somewhat changed how they worked a few years ago and I wanted a clean slate. I started with a VM with 40GB. It’s not supposed to take that much, but I remember last time it took much more than the 10GB I’d given the VM and I don’t want to have to increase the disk size again.
The first thing I had to do was get the 32-bit libraries.
# yum install ncompress libgcc.x86_64 libgcc.i686 glibc.i686 zlib.i686 ncurses-libs.i686
I added a user with
so that it wouldn’t run as root. I switched to that user. Then
mkdir hlserver && cd hlserver
for the directory to install from.
to get the files.
tar zxf steamcmd_linux.tar.gz
to untar it. The next step was to create a SteamCMD script. They say to call it it tf2_ds.txt and put this in there:
login anonymous force_install_dir ./tf2 app_update 232250 quit
After that we make the update script. It needs to have
#!/bin/sh ./steamcmd.sh +runscript tf2_ds.txt
Afterwards, make it executable with:
chmod +x update.sh
When you run it, it’ll grab the files needed for TF2. Something like 6GB at the moment. If you get “Success! App ‘232250’ fully installed.”, then you got it all. Yay!
Next create the server config:
cd ~/hlserver/tf2/tf/cfg && nano server.cfg
And here’s the minimum you need in there:
hostname "Your_Server's_Name" rcon_password "Your_Rcon_Password" sv_contact "email@example.com" mp_timelimit "30"
The Windows Server Setup page has a more fully-featured one you can copy and edit as you see fit. Finally create a little script so that you don’t need to remember the whole server command every time:
cd ~/hlserver/ && nano tf.sh
And fill that with:
#!/bin/sh tf2/srcds_run -console -game tf -nohltv +sv_pure 1 +map ctf_2fort +maxplayers 24
The final thing is fixing the firewall.
firewall-cmd --zone=public --add-port=27015/tcp --permanent firewall-cmd --zone=public --add-port=27015/udp --permanent firewall-cmd --zone=public --add-port=27005/udp --permanent firewall-cmd --zone=public --add-port=27020/udp --permanent firewall-cmd --zone=public --add-port=26901/udp --permanent firewall-cmd --reload
The Linux server page also tells you how to make a systemd service so that it restarts if it crashes or loses power.
So run tf.sh and you can connect to it! Here I am connecting to my server:
Of course there’s a lot more configuration you can do to edit the motd and other things, but that’s the basics.
So, the current solution for bridging with KVM/QEMU/Libvirt involves macvtap. This allows your VM to be seen by computers on the network which is key if you want to, say, run a server or DNS on a VM. However, there’s a catch – the host can’t reach the VM. Sometimes this doesn’t matter and sometimes it does. For example, if the guest is running DNS and you want the host to be able to use it for DNS, this is an issue. There is another way to do it, but it involves ditching Network Manager. I actually like Network Manager. So what am I to do?
Well, there are two solutions. One is to use a routed mode network. This causes the host to behave like a router and creates a subnet behind the host so if all your real computers are 192.168.1.x, the VMs would be 192.168.2.x. (Doesn’t have to be 2) For many scenarios this is the cleanest and most correct way to do this. However, it requires your real router to support static routes and it may break compatibility with consumer hardware that expects everything in a home to be on one subnet – eg networked printers, DLNA, etc.
The other solution is presented on the libvirt wiki as the “Less Painful Solution” for getting around macvtap. You create an isolated network (which you usually only do when you are testing and want to make sure that all the network traffic you’re observing comes from the VMs on said isolated network. Then you give your VM a second network interface that connects to this isolated network. You use THIS interface for host/guest communications. The part it doesn’t mention on the wiki that I plan to test as part of this blog post is to then add that entry to the Host’s /etc/hosts file so that it overrides DNS and the host is none-the-wiser that it’s not accessing it via the DNS which would be the address that the Host can’t use.
So, let’s give it a shot. I’m going to use the GUI for my first go-around.
Step 3 is IPv6…skipping that….
Open the VM you want to add it to:
Run the VM and see if it took….
It appears that it did. So let’s see if I can SSH to it now:
OK, it all seems to be in order. Good, good. I also confirmed that adding it to the /etc/hosts file allows it to override what’s in DNS. So, there you go! That’s one solution if you want host to guest comms with KVM/QEMU/Libvirt.