Unblock-Us Auto-Update Skript

Ich bin seit ca. einem Jahr absoluter Fan von Netflix. Leider gibt es in Deutschland noch immer keine vernünftige Möglichkeit, ein Abo abzuschließen und Netflix ohne Umwege zu empfangen. Man benötigt nach wie vor einen VPN- oder DNS-Anbieter der Netflix vorgaukelt, man befinde sich in den USA oder Kanada.
Es gibt sicherlich viele dieser Dienste, allerdings habe ich mich ziemlich schnell für Unblock-Us entschieden. Der Dienst stellt alternative DNS-Server ein, die man in seinem Gerät (in meinem Fall Apple TV) einstellt und somit sofort die entsprechenden Angebote von Netflix nutzen kann. Das Ganze hat gegenüber den meisten VPN-Providern den Vorteil, dass man mit nahezu voller Geschwindigkeit auf die Inhalte zugreifen kann.

Einen Nachteil hat das Ganze jedoch: Unblock-Us nutzt zur Authentifizierung die eigene IP-Adresse. Sprich: Ändert sich die IP-Adresse des eigenen Internetanschluss, so muss man diese im Unblock-Us Webinterface erst seinem Account zuteilen. Da mir das allerdings zu stressig war, habe ich mich hin gesetzt und ein kurze Shell-Skript geschrieben. Das Skript läuft nun per Cronjob auf meiner Synology DS212j NAS um 03:00 Uhr morgens und schickt meine aktuelle IP-Adresse an Unblock-Us. Somit brauche ich mich um die Aktualisierungen der Adresse nicht mehr zu kümmern.

Das hat doch was, oder? Wer Interesse an dem Skript hat, kann sich gerne bedienen. Zu ändern sind lediglich die Variablen „userlogin“ und „userpassword“. Dort gehören eure Unblock-Us Zugangsdaten rein.

Viel Spaß.

Unblock-Us Auto-Update Skript auf GitHub

#!/bin/sh                                                                                                                                                                                                   
#                                                                                                                                                                                                           
# Unblock-Us Update-Script  
#                                                                                                                                                                                
# This script automatically sends your current IP address to the Unblock-Us api.                                                                                                                             
# It can be used to update your IP adress via cron.                                                                                                                                                         
#                                                                                                                                                                                                           
# Author:       Timo Schlueter                                                                                                                                                                              
# Mail:         me@timo.in   
# Web:          www.timo.in                                                                                                                                                                                 
# Twitter:      twitter.com/tmuuh                                                                                                                                                                           
#                                                                                                                                                                                                           
# Version:      0.2                                                                                                                                                                                         
# Date:         20-12-2013                                                                                                                                                                                  
#                                                                                                                                                                                                           
# Notes:        I am not affiliated directly or indirectly with Unblock-Us                                                                                                                                  
#                                                                                                                                                                                                           
 
# Variables (user specific)                                                                                                                                                                                 
userlogin="email@example.com"                                                                                                                                                                                   
userpassword="password"                                                                                                                                                                                    
 
# Environment                                                                                                                                                                                              
apiurl="https://api.unblock-us.com/login?$userlogin:$userpassword"                                                                                                                                          
wgetcmd=$(which wget)                                                                                                                                                                                       
 
# Check if username and password are set.                                                                                                                                                                   
if [ -z $userlogin ]                                                                                                                                                                                        
        then                                                                                                                                                                                                
                echo "No password set."                                                                                                                                                                     
                exit 1                                                                                                                                                                                      
elif [ -z $userpassword ]                                                                                                                                                                                   
        then                                                                                                                                                                                                
                echo "No password set."                                                                                                                                                                     
                exit 1                                                                                                                                                                                      
else                                                                                                                                                                                                        
        # Call the api                                                                                                                                                                                      
        response=$($wgetcmd --no-check-certificate -qO- $apiurl)                                                                                                                                            
 
        # Check response from api                                                                                                                                                                           
        if [ $response == "active" ]                                                                                                                                                                        
                then                                                                                                                                                                                        
                        echo "IP address is active. You are good to go!"                                                                                                                                     
                        exit 0                                                                                                                                                                              
        elif [ $response == "bad_password" ]                                                                                                                                                                
                then                                                                                                                                                                                        
                        echo "Wrong username or password."                                                                                                                                                  
                        exit 1                                                                                                                                                                              
        elif [ $response == "not_found" ]                                                                                                                                                                   
                then                                                                                                                                                                                        
                        echo "Username not found."                                                                                                                                                          
                        exit 1                                                                                                                                                                              
        else                                                                                                                                                                                                
                echo "Unknown error. Check api url or documentantion."                                                                                                                                      
                exit 1                                                                                                                                                                                      
        fi                                                                                                                                                                                                  
fi

Warum GTA V nicht für den PC erschienen ist

In der jüngeren Vergangenheit gab es in meinem Bekanntenkreis, dank der Ankündigungen der neuen Konsolen, immer wieder die Diskussion darüber, auf welcher Plattform man denn nun am besten zocken kann. Es gibt diejenigen, die schon seit dem SNES nur auf Konsolen unterwegs sind. Dann gibt es die, die Verfechter des PC-Gaming waren, dann aber irgendwann auf die Konsolen gewechselt sind. Und dann gibt es noch diejenigen, ausschließlich auf dem PC spielen und mit Konsolen nie warm geworden sind.

Gerade letztere Gruppe wundert sich besonders seit den letzten Wochen darüber, dass Rockstar ihren „Game of the year“-Kandidaten GTA V nicht auf der Spiele-Plattform Nr. 1, dem PC, herausgebracht hat. Ich muss ja zugeben: Anfangs bin ich auch heute noch verwundert, wenn Spiele-Entwickler ihre Spiele konsolenexklusiv herausbringen. Ich bin jemand, der den Großteil seiner Jugend (10 – 19 Jahre) auf einem PC gezockt hat. Für mich galt der PC bis zu diesem Zeitpunkt als unantastbar wenn es um Videospiele ging. Counter-Strike, Half-Life, World of Warcraft. Alles Spiele, die man doch unmöglich an einem Controller spielen kann. Der PC war in meinem Kopf die einzige Möglichkeit, überhaupt Spaß an Videospielen zu haben.

Die Realität des PC-Gaming sah allerdings schon damals anders aus. Als ich noch der Meinung war, man könnte Shooter nur auf dem PC zocken, haben Konsolen sich auch diesem Thema angenommen. Neben Rennspielen, Tony Hawk’s Pro Skater und FIFA haben sich immer mehr Shooter auf den Konsolen gefunden. Für mich war Halo, damals auf meiner alle ersten XBox, der First-Person-Shooter, der mir zum ersten Mal gezeigt hat, dass man Shooter sehr wohl mit einem Controller spielen kann. Bis zu diesem Zeitpunkt gab es für mich auf Konsolen nur einen halbwegs brauchbaren Shooter: 007 GoldenEye auf dem N64. Alles andere war schlicht weg nicht spielbar.

Und wo sind wir jetzt, 12 Jahre nach dem Start der XBox, 12 Jahre nach dem ersten Halo? Nie war der PC irrelevanter für Videospiele als zuvor. Es gibt hier und da Spiele, die sich auf dem PC breit machen. Aktuell ist das beste Beispiel dafür wohl Dota 2. Für Spiele wie Dota 2 hat vermutlich auch noch niemand ein passendes Konzept erstellt, wie diese Art von Spielen auf einem Controller funktionieren würden (ist bei RTS-Spielen übrigens ähnlich – einzige Ausnahme: Halo Wars). Doch neben Spielen wie Dota 2 wird es dann auf dem PC auch schon eng. Wenn man sich dazu die Verkaufszahlen der letzten beiden Blockbuster-Shooter ansieht, wird einem das Ganze erst so richtig bewusst:

Quelle: VGChartz
Quelle: VGChartz

Die Grafik spricht Bände: Zu sehen sind die beiden Blockbuster Shooter-Franchises überhaupt. Battlefield und Call of Duty – jeweils in ihrer aktuellen Ausgabe. Call of Duty Black Ops II, ein klassischer Shooter, der von PC-Verfechtern als „unspielbar“ auf Konsole bezeichnet wird, verkauft sich für PS3 und XBox 360 zusammengerechnet ca. 22 Millionen mal. Die PC-Version kommt auf 970.000 Einheiten. Neunhundertsiebzigtausend. Das sind nicht einmal eine Million verkaufte Exemplare eines Spiels, welches mit einem Controller auf der Couch nicht spielbar ist. Scheinbar sehen 22 Millionen Spieler das anders. Ähnlich ist es bei Battlefield 3: Knapp 14 Millionen Konsolen-Versionen stehen 2,5 Millionen PC-Versionen gegenüber. Selbst bei Saints Row IV, was eher ein Nischen-Titel ist, sieht es nicht anders aus.

Das Shooter-Genre galt Jahrzehnte lang als das Argument für die Anschaffung eines PCs. Doch die Zeiten sind vorbei. An mir ist die Entwicklung so ziemlich vorbei gegangen, denn auch ich habe erst letztes Jahr 1500€ in einen neuen PC investiert um das neue Counter-Strike: Global Offensive zu spielen. Nach 60 Spielstunden fiel mir dann aber auf, dass es auf dem Sofa doch bequemer ist. Erst diese Erkenntnis hat mich dazu gebracht, mich mal genauer mit dem Thema zu beschäftigen.

Doch kommen wir nun zum eigentlichen Thema: GTA V. Oben stehen die Zahlen – die Rechnung ist leicht: Rockstar Games hat 250 Millionen Dollar in die Entwicklung des Spiel gesteckt. Eine unfassbar hohe Summe, die man dem Spiel aber definitiv auch ansieht. Aus wirtschaftlicher Sicht muss Rockstar nun versuchen, diese 250 Millionen Dollar wieder reinzuholen. Wie gelingt das am besten, wenn man die verfügbaren Plattformen betrachtet? Man nimmt sich die Plattform mit den meisten Benutzern, die größte „Installed base“, und veröffentlich das Spiel zumindest anfangs auf diesen Plattformen. Denn nur so hat Rockstar eine nahezu 100%ige Garantie, mit einem solchen Franchise wie GTA ihr Geld wieder einzuspielen. Dass es geklappt hat, wissen wir alle: 1 Million verkaufte Exemplare in den ersten 24 Stunden. Wäre das bei der PC-Version auch so gelaufen? Es darf bezweifelt werden.

Vielleicht wird Rockstar GTA V irgendwann noch für den PC umsetzen (und mit „umsetzen“ meine ich eine schlechte Konsolen-Portierung), aber eine hohe Priorität hat diese Umsetzung bei Rockstar definitiv nicht. Irgendwann, wenn genug Geld gescheffelt wurde und man bei Rockstar auf den Trichter kommt, den paar verbleibenden PC-Spielern einen Gefallen zu tun, wird die PC-Version erscheinen.

Bis dahin macht Rockstar das aus wirtschaftlicher Sicht einzig sinnvolle: Sie gehen dorthin, wo wirklich gespielt wird.