Tales from the Loop Playtest

For all of you who live under rocks: Tales from the Loop is a roleplaying game based on the retro-scifi artwork by swedish painter Simon Stålenhag.

The world portrayed are the 80ies we saw when we watched E.T. or, more recently, Stranger Things. As a result, you will be playing teenagers, or rather: Kids, somewhere between 10 and 15 years old.

We got our picks from easily relateable archetypes: The Computer Geek, the Rocker, the Popular Kid, the Hick and of course the Jock. They don’t get any custom skills like you might expect from games that are Powered by the Apocalypse but instead have slightly different sets of background notes and relationships.

The fun part is that the rules really drive home the idea that you’re playing kids. For starters, there are no combat rules at all, a fact that I actually only realized when the game was over and someone else mentioned it. Rather consequently, the kids can’t die either. Damage is caused by pushing ones limit and handled with an abstract set of conditions that are mechanically shed whenever you take a moment of timeout in a safe space.

As a result, you really get thrown into the kids mindset, even though some of the skills seem to be too broad or too narrow in name and definition, with a confusing overlap at some points. But that is not too bad — unlike the pool system: Nothing is more frustrating than throwing buckets of D6 and not getting a single success (which only sixes count as those).

Anyway: We opted for slightly older kids in the 13 to 14 year old range and had a blast. The kids spied on a scientist, camped on an island, played spin-the-bottle, nearly got torpedoed by a submarine and finally had to tell the truth to adults (which was a believably scary thing!)

If you know the teenager books like The Famous Five, TKKG and similar fare, you’ll feel right at home.

Velvet Glove testspielen

Beim Spielefeld Treffen dieses Jahr hat Karsten uns durch sexploitation-female-empowerment Sleaze der 70er geleitet. So angeflasht ich von der Idee war, so schwierig war das dann aber in der Durchführung: Das Genre ist breiter als man denken mag, und das Regelwerk ist sich da auch nicht ganz einig:

  • soll man Schulmädchen oder echte toughe Gangmember spielen?
  • geht es um Gewalt, oder soll diese wirklich vermieden werden?
  • Irgendwie lese ich die Regeln so, dass man eigentlich Sex unbedingt vermeiden will — aber gleichzeitig immer „the goods“ einsetzen sollte.

Mal ein Beispiel: Kämpfen

Ein Kampf besteht aus ein oder zwei Würfen: Einmal, um zu schauen, ob man die Oberhand hat. Im besten Fall (10+ mit 2D6) kommt man da  nur mit einem Kratzer raus. In der Regel kann die Gegnerin Euch aber noch ordentlich aufmischen — und dann muss man einen Rettungswurf machen.

Da ist dann der beste Fall, dass man mit einer coolen Narbe davonkommt, im schlimmsten Fall ist man tot und in der Regel wirklich schwer verletzt und ohne sofortige medizinische Hilfe dann eben auch tot.

Die einzige Chance hier ist, wenn der Kampf von vornherein als „nicht gefährlich“ eingestuft wurde und man ordentlich Unterstützung dabei hat. Ansonsten.. ist die Statistik schlicht gegen einen. Was ok ist, aber irgendwie auch nicht mein Bild von 70er Gang-Filmen ist. Da darf sich gezofft werden, und es soll auch mal gefährlich sein. 

Aber wenn Regeln einem nahelegen, dass die eigene Figur jederzeit draufgehen kann, dann spielt man nicht fast & loose.

Noch ein Beispiel: Sex & Sleaze

Es gibt einen Move “Use the goods”. Und der ist verwirrenderweise gar nicht dazu da, um Leute zu verführen, sondern um zu vermeiden, dass der Kerl sich mehr nimmt, als man geben will.

Fazit

Insgesamt bietet Velve Glove schon einen Einstieg in die Welt des 70er Sleaze. Allerdings sind die Regeln an vielen Stellen unerwartet gegen einen und setzen meiner Meinung nach die falschen Akzente. Die Runde war schön gemischt, und sowohl die Männer als auch die Frauen hatten ordentlich Spaß — aber schon eher trotz der Regeln, nicht dank ihnen.

Oder wir haben das Genre einfach noch nicht gegrokt — bei DTR gibt es ja durchaus freundliche Reviews, die meine Kritikpunkte als Stärken darstellen.

Subsonic & Caddy — oh my…

Dangnabbit.

Subsonic has the nasty habit of generating certain URLs in a very hardcoded way.

The login screen for example. If you call index.view and are not logged in, it redirects you to $ServerSubsonicThinksItIs/login.view.

That will be localhost, if you want to do the „oh yay, let’s reverse proxy here“ thing. To make matters worse, $ServerSubsonicThinksItIs also contains protocol and port. This is apparently due to the implementation of Subsonics „generate a yourhost​.subsonic​.org“ redirection.

As far as I can see, only the login and settings pages are the ones that are affected by this. They are still accessible if you manually add /login.view to your public address.

Of course, you can tell Subsonic to believe that it is on the servername you chose for it. As long as Subsonic and the reverse proxy server are in agreement of which host, path & port are shown to the browser, everything is fine. With non-encrypted http that is.

Of course you can re-enable https on Subsonic, in order to successfully proxy everything from A to B, but…

…Caddy checks the validity of the SSL certificate of whatever site it reverse-proxies to. And throws a Bad Gateway if it doesn’t like what it sees. This is actually done with a reason, but it doesn’t help me right now.

As far as I can see, I either have to wait for…

  • Subsonic finally learning to generate sane URLs or
  • Caddyserver being able to ignore faulty certificates upstream

Subsonic with Caddy

Ok, now that there is Let's Encrypt, I thought that I shouldn’t have to do this certificate hackery all the time when Subsonic updates or the StartSSL certificate expires.

Caddyserver is the first Webserver/Proxy that I found that has most of the process automated and build in, so I’m using this. Getting started with this was pretty straightforward: Download, expand,  create a config file and before you start up, make sure that Caddy can run on port 80 without requiring to be root:

sudo setcap cap_net_bind_service=+ep ./caddy

My Caddyfile eventually ended up looking like this:

server.mydomain.de {
 proxy / localhost:4040 {
 proxy_header Host server.mydomain.de
 proxy_header Scheme https
 }

Well, it turned out to not be quite as easy. First I also had to make Subsonic stop hogging port 443. Those settings are found in /etc/default/subsonic. And while you’re at it, also edit out any certificates you may have added earlier in /usr/bin/subsonic. Oh, and make sure to note down which port non-https Subsonic runs, hopefully not 80, because Caddy needs that! I may have chosen 4040.

Restart Subsonic and make sure that you can reach it on the correct ports.

As stated, Caddy also needs to run on Port 80 for a brief moment. This is so it can do the certificate domain validation process. So edit your /etc/apache2/ports.conf to make sure not to block anything.

Restart apache2.

Now, to find out if everything works, start Caddy. If all is good, you’ll see a glorious all-ok message and can now access the server via https with a valid certificate.

But as you’ve undoubtedly noticed, Caddy isn’t running as a service yet. Thankfully Ubuntu has Upstart. So, add in a new file /etc/init/caddyservice.conf (thank you Mathias):

description "Caddy Server startup script"
author "Mathias Beke"
start on runlevel [2345]
stop on runlevel [016]
setuid runasme
setgid runasme
respawn
respawn limit 10 5
script
 cd /home/runasme/
 exec ./caddy

At this point I want to take a short moment to mention that whoever thinks that the Upstart Cookbook is an easy entry-level document is clearly out of their mind. Seriously, this „Cookbook“ has a whole chapter named „Critique of the System V init System“!

But I digress. If you don’t make the same mistake as me and confuse init with init.d, then you’re golden and now have a Caddy running as a service, forwarding requests to your Subsonic installation.

The only issue I haven’t been able to solve is that Subsonic has some stupid static URL linking going on so I have to open the settings in a new tab. But I can live with that.