Team Fortress 2

Team Fortress 2

83 ratings
Używanie serwerów do rozgrywek turniejowych w Team Fortress 2 w oparciu o RCON
By supra #poLANd.tf
W tym poradniku przedstawiam jak skonfigurować serwer Team Fortress 2 do rozgrywek turniejowych (eng. competitive), czyli jak między innymi włączyć odpowiedni config do odpowiedniej ligi, jak ustawić konkretną mapę, niestandardową białą listę przedmiotów itd. Wszystko w oparciu o jeden z serwerów serveme.tf oraz własny serwer dedykowany.
3
   
Award
Favorite
Favorited
Unfavorite
Czym jest RCON i na co on pozwala?
Remote CONtrol to w Team Fortress 2 konsola, która pozwala na zdalną kontrolę nad serwerem. Z poziomu RCONa można zmienić większość zmiennych pracujących na serwerze, które pozwalają nam na kontrolowanie przebiegu rozgrywek w odpowiedni sposób.

Żeby dobrze rozumieć wykonywanie poleceń, wyjaśnię też czym jest zmienna. Zmienna definiuje konkretne ustawienie w grze, na przykład możemy mieć włączoną grę w trybie pełnoekranowym lub nie. Lista wszystkich zmiennych w Team Fortress 2 jest do znalezienia tutaj.
Jak wykorzystywać RCON?
Aby zacząć wykonywanie zdalnych poleceń do serwera należy przedtem wykonać polecenie rcon_password haslo_do_zdalnej_kontroli i moim zdaniem też warto wykonać polecenie rcon_address adres_serwera:port.
Jeśli jesteśmy na serwerze, który chcemy docelowo kontrolować, nie musimy wpisywać tego drugiego polecenia. Te polecenie przydaje się szczególnie w przypadku, gdy mamy ustawione hasło do połączenia się z serwerem i nie pamiętamy jakie ono jest.












Gdy już mamy zdefiniowane hasło do RCONa, składania poleceń jest następująca:
rcon polecenie
W przypadku serwerów z serveme.tf polecenia można także wywoływać z czatu:
!rcon polecenie
Na przykład polecenie rcon changelevel pl_badwater zmieni aktualną mapę na serwerze na mapę Badwater Basin (pl_badwater).
W przypadku podawania złożonych poleceń bardzo istotne jest to, by wartości (argumenty) poleceń w przypadku posiadania spacji podawać w cudzysłowie. Na przykład, w przypadku polecenia do głosowania sm_vote, w którym składnia to:
sm_vote <tytuł_głosowania> <Opcja 1> <Opcja 2> [Opcja 3] itd.

Na przykład podam jeden z najpopularniejszych błędów:
rcon sm_vote jaka mapa? badwater product upward warmtic
da nam głosowanie:









Prawidłowe rozwiązanie to:
rcon sm_vote "jaka mapa?" badwater product upward warmtic
lub
rcon sm_vote "jaka mapa?" "badwater" "product" "upward" "warmtic"
Takie polecenie da nam głosowanie:







Jak widać - cudzysłowie jest opcjonalne. Z własnego doświadczenia wstawiam cudzysłowie jeśli to naprawdę jest potrzebne z czystego lenistwa, ale ogólnie wykorzystywanie ich wszędzie jest dobrą praktyką.
Pliki konfiguracyjne (configi) - tworzenie, ładowanie
W trybie competitive serwer musi być ustawiony zgodnie z wytycznymi konkretnej ligi. By nie musieć ręcznie wpisywać każdej zmiennej RCON pozwala na wykorzystywanie predefiniowanych plików konfiguracyjnych lub po prostu configów - plików posiadających zestaw konkretnych ustawień.

Jedna linijka to jedno polecenie, a plik jest wczytywany w kolejności od góry do dołu. To jest szczególnie istotne przy zmianie map, ale o tym nieco później.
Istnieje możliwość wykonywania wielu poleceń w jednej linii - pomiędzy poleceniami należy umieścić średnik ; na przykład:
connect supra.tf; password dupa69

Aby załadować config, należy wykonać polecenie:
rcon exec etf2l_9v9_koth
Jeśli na serwerze w folderze tf/cfg znajduje się plik etf2l_9v9_koth.cfg to w tym wypadku zostanie załadowana konfiguracja.

UWAGA: komenda exec może być też w configu, więc jeden config może automatycznie ładować drugi i w przypadku dzisiejszych konfiguracji lig tak po prostu jest.

Jeśli masz własny serwer dedykowany to wystarczy, że umieścisz w folderze tf/cfg plik z rozszerzeniem .cfg i to wystarczy - możesz go załadować.

Serwery mają także możliwość korzystania z predefiniowanych ustawień per mapę - wystarczy, że utworzysz plik o nazwie mapy (na przykład pl_badwater.cfg oraz w zawartości wpiszesz ustawienia, które Cię interesują i tyle - config zostanie załadowany automatycznie przez serwer.
Badwater Basin to mapka, która jest grywana tylko w trybie highlander, więc w takiej sytuacji w tym pliku zostawiłbym jedną linijkę:
exec etf2l_9v9_stopwatch

Serwer przy zmianie mapy zawsze ładuje konfiguracje z plików według kolejności:
1) tf/cfg/server.cfg,
2) tf/cfg/<nazwa_aktualnej_mapy>.cfg
3) konfiguracja ładowana ręcznie przez użytkownika.
Z tego powodu dobrą praktyką jest przeładowanie konfiguracji przy każdej zmianie mapy.


Jakie configi kiedy załadowywać?
Wszystko zależy od trybu jaki gramy oraz od mapy:

European Team Fortress 2 League (ETF2L):
  • 6v6:
    • etf2l_6v6_5cp.cfg – mapy z Punkt kontrolny (5CP), na przykład cp_process_final
    • etf2l_6v6_koth.cfg – mapy typu Król wzgórza, na przykład koth_product_rc9
    • etf2l_6v6_ctf.cfg – mapy typu Zdobądź flagę, na przykład ctf_turbine
    • etf2l_6v6_stopwatch.cfg – mapy typu Stopwatch (w nich liczy się ilość zdobytych punktów w czasie, a następnie przeciwny team musi zdobyć lepszy wynik), na przykład cp_gravelpit
  • Highlander:
    • etf2l_9v9_5cp.cfg – mapy z Punkt kontrolny (5CP), na przykład cp_process_final
    • etf2l_9v9_ctf.cfg – mapy typu Zdobądź flagę, na przykład ctf_turbine
    • etf2l_9v9_koth.cfg – – mapy typu Król wzgórza, na przykład koth_product_rc9
    • etf2l_9v9_stopwatch.cfg – mapy typu Stopwatch, na przykład cp_steel lub np. pl_badwater
  • Inne:
    • etf2l_ultiduo.cfg – mapy typu Ultiduo, np. ultiduo_baloo_v2
    • etf2l_bball.cfg – mapy typu BBall, np. ctf_ballin_sky
    • etf2l_golden_cap.cfg – config do uruchomienia trybu Golden Cap na mapach 5CP

United Gaming Clans (UGC):
  • 6v6:
    • ugc_6v_standard.cfg – mapy z Punkt kontrolny (5CP), na przykład cp_process_final
    • ugc_6v_standard_overtime.cfg – config do uruchomienia dogrywki dla trybu Punkt kontrolny
    • ugc_6v_golden.cfg – config do uruchomienia trybu Golden Cap na mapach 5CP
    • ugc_6v_koth.cfg – mapy typu Król wzgórza, na przykład koth_product_rc9
    • ugc_6v_koth_overtime.cfg – config do uruchomienia dogrywki dla trybu Król wzgórza
    • ugc_6v_ctf.cfg – mapy typu Zdobądź flagę, na przykład ctf_turbine
    • ugc_6v_ctf_overtime.cfg – config do uruchomienia dogrywki dla trybu Zdobądź flagę
    • ugc_6v_stopwatch.cfg – mapy typu Stopwatch (w nich liczy się ilość zdobytych punktów w czasie, a następnie przeciwny team musi zdobyć lepszy wynik), na przykład cp_gravelpit
  • Highlander:
    • ugc_HL_standard.cfg – mapy z Punkt kontrolny, na przykład cp_process_final
    • ugc_HL_koth.cfg – – mapy typu Król wzgórza, na przykład koth_product_rc9
    • ugc_HL_stopwatch.cfg – mapy typu Stopwatch, na przykład cp_steel lub np. pl_badwater
  • 4v4:
    • ugc_4v_standard.cfg – mapy z Punkt kontrolny, na przykład cp_process_final
    • ugc_4v_koth.cfg – – mapy typu Król wzgórza, na przykład koth_product_rc9
    • ugc_4v_stopwatch.cfg – mapy typu Stopwatch, na przykład cp_steel lub np. pl_badwater
  • Inne:
    • ugc_off.cfg – natychmiast kończy mecz.

Recharge Gaming League (RGL):
  • RGL_5cp – mapy z Punkt kontrolny (5CP), na przykład cp_process_final
  • RGL_koth.cfg – – mapy typu Król wzgórza, na przykład koth_product_rc9
  • RGL_stopwatch.cfg – mapy typu Stopwatch, na przykład cp_steel lub np. pl_badwater
  • RGL_off.cfg – natychmiast kończy mecz.
Wypożyczanie serwerów z serveme.tf
Nie każdy jest w stanie sobie pozwolić na własny serwer dedykowany lub może nie być w stanie samemu go skonfigurować, dlatego serveme.tf może Wam bardzo ułatwić sprawę pod kątem wypożyczania serwera do gierek.
Żeby wypożyczyć serwer należy:
  • wejść na stronę https://serveme.tf,
  • zalogować się na swoje konto Steam,
  • wybrać opcję Let's play! lub I'm feeling lucky (pierwsza przechodzi do ustawień rezerwacji, druga automatycznie rezerwuje losowy dostępny serwer na godzinę od momentu kliknięcia z konfiguracją z poprzedniej rezerwacji (lub ustawienia domyślne w przypadku pierwszej rezerwacji):










  • zdefiniować ustawienia rezerwacji (jesli wykorzystałeś opcję Let's play!:
























































    • Starts at - czas rozpoczęcia rezerwacji
    • Ends at - czas zakończenia rezerwacji
    • Server - wybieramy tutaj instancję serwera, która nas interesuje (użytkownicy Premium mają więcej serwerów do wyboru)
    • Ping - wyświetla nasz ping w stosunku do serwera wybranego z listy
    • Password - hasło dostępu do serwera
    • Rcon - hasło do RCONa
    • First map - mapa, która zostanie załadowana po rozpoczęciu rezerwacji
    • STV password - hasło do SourceTV (domyślnie to jest tv)
    • Relay password - hasło dla serwera przekazującego dla STV (wykorzystywane po to, by umożliwić oglądanie przez SourceTV dla większej ilości graczy lub dla zamaskowania adresu IP serwera na którym rzeczywiście prowadzona jest rozgrywka
    • Enable plugins - zaznaczenie opcji oznacza włączenie pluginu SOAP DM (deathmatch mode) oraz MGE w przypadku załadowania map mge_
    • demos.tf - włącza plugin do nagrywania demek z SourceTV na stronę demos.tf (w przypadku włączenia tej opcji użytkownicy bez wykupionego Premium mogą korzystać z poprzedniej funkcji za darmo)
    • Server config - pozwala na wybór configu dla konkretnego trybu po starcie mapy
    • Item whitelist - wybiera białą listę przedmiotów, przy czym opcja Default nie zmienia nic, League wymusza whitelistę z pliku na serwerze w polu League whitelist, a opcja Whitelist.tf pozwala na zdefiniowanie ID lub niestandardowej nazwy listy ze strony whitelist.tf
    • Auto end - automatycznie kończy rezerwację serwera gdy wszyscy gracze z niego wyjdą
Mając wszystko zdefiniowane pozostaje kliknąć Save i w ten sposób nasza rezerwacja jest utworzona. Wynik końcowy wygląda mniej więcej tak:












Gdybyś przypadkiem zamknął przeglądarkę, możesz wejść na stronę główną i na zrzucie ekranu poniżej pokazuję gdzie można znaleźć listę naszych rezerwacji i ich szczegóły:




Co daje kupno Premium na serveme.tf:
  • większy wybór serwerów (może to, jaki serwer wybierzesz jest kwestią drugorzędną, ale to, że masz w ogóle wybór ma znaczenie co może być problematyczne w przypadku czwartków kiedy dużo teamów gra mecze ligowe)
  • dłuższy czas rezerwacji (za darmo max. to 2 godziny, Premium ma 5 godzin)
  • dłuższy czas bezczynności serwera (za darmo max to 30 minut, Premium ma godzinę)
  • Możliwość wrzucania własnych mapek
  • Dłuższe przedłużenia rezerwacji (!extend przedłuża rezerwację o 20 minut domyślnie, dla Premium o godzinę)
  • Możliwość utworzenia więcej niż jednej rezerwacji w tym samym czasie
  • Możliwość dodania rezerwacji do 3 godzin w przód
  • Brak reklam
Generalnie polecam.
Wykorzystywanie białych list przedmiotów (whitelist) w oparciu o whitelist.tf
W przypadku grania ligi RGL lub organizowania rozgrywek opartych na własnych ten rozdział jest przydatny.

https://whitelist.tf jest stroną umożliwiającą na przejrzenie dozwolonych/zabronionych przedmiotów dla wybranego trybu wybranej ligi w przejrzysty sposób (przeglądanie pliku mającego kilka tysiecy linijek może być uciążliwe, przykład bazuję na whiteliście ETF2L dla trybu Highlander):


Tutaj[whitelist.tf] możecie zobaczyć jak wygląda taki preset dla wspomnianej whitelisty.
Jeśli chcemy coś dodać lub usunąć to po prostu klikamy na odpowiedni element i jeśli jest na zielono to jest dozwolony, a na czerwono zabroniony.
Gdy już wszystko ustawimy to klikamy przycisk:



I to tyle. Nasza niestandardowa whitelista jest gotowa. Tutaj[whitelist.tf] znajdziecie whitelistę, którą przygotowałem na turniej LANsilesia, konkretnie na turniej MGE. Identyfikatorem whitelisty jest jej ID lub niestandardowa nazwa.


W części Przydatne polecenia znajdziecie informacje jak takie ID wykorzystać.
Przydatne polecenia
Oczywiście każde z nich należy poprzedzić rconem:

  • mp_tournament 1 - włącza tryb turniejowy
  • mp_tournament_restart - restartuje aktualną rozgrywkę do stanu, w którym obie drużyny nie są gotowe do gry
  • mp_timelimit 30 - definiuje limit czasu mapy w minutach na 30 (wartość 0 oznacza brak limitu czasu)
  • mp_winlimit 3 - definiuje limit zwycięstw do 3 (wartość 0 oznacza brak limitu zwycięstw),
  • mp_windifference 5 - definiuje maksymalną różnicę w wygranych rundach pomiędzy drużynami do 5, czyli w przypadku wyniku 5:0, 6:1, 7:2 itd. kończy grę
  • mp_switchteams - zmienia drużyny stronami (przydatne w przypadku trybu Stopwatch)
  • changelevel pl_badwater - zmienia aktualną mapę na pl_badwater
  • sv_password plmixes.tf - zmienia hasło dostępu do serwera na plmixes.tf (przy zmianie mapy hasło zmienia się z powrotem na zdefiniowane w pliku server.cfg)
  • exec etf2l_9v9_koth - załadowuje plik konfiguracyjny etf2l_9v9_koth.cfg
  • kickid 5 - wyrzuca gracza o numerze userid 5 z serwera (ID można sprawdzić za pomocą polecenia status w konsoli),












  • sm_kick @red - wyrzuca wszystkich graczy z drużyny RED
  • sm_kick @blue - wyrzuca wszystkich graczy z drużyny BLU
  • rcon sm_vote "jaka mapa" badwater product upward warmtic - włącza głosowanie, w którym wynik jest jedynie przedstawiany w postaci tekstowej
  • rcon sm_votemap pl_badwater koth_product_rc9 pl_upward koth_warmtic_b6 - włącza głosowanie, w którym wynikiem jest zmiana mapy tą, która wygrała głosowanie
  • sm_csay "LAST TO SPECT" wyświetla tekst LAST TO SPECT na środku ekranu











  • tv_delay 0 - zmienia czas opóźnienia widoku z gry w SourceTV na natychmiastowy, pozwala na szybką zmianę mapy, może być przydatne jeśli nie chcę Ci się wpisywać kolejnego polecenia, a chcesz szybko zmienić mapę

  • tv_delaymapchange_protect 0 - wyłącza ochronę przed zmianą mapy, która zapobiega ucięciu obrazu dla graczy oglądających mecz poprzez SourceTV
  • sv_cheats 1 - włącza "oszustwa" (wiem, brzmi to dziwnie)
  • mp_tournament_readymode 1 - włącza tryb Ready Mode (to jest dostępne na pug.champ.gg), włącza zaznaczanie gotowości per user, a nie per team
  • mp_tournament_readymode_countdown 10 - gdy wszyscy oznaczą gotowość, ustawia czas oczekiwania przed rozpoczęciem gry na 10 sekund
  • mp_tournament_readymode_min 2 - minimalna liczba graczy, która pozwala na zaznaczanie gotowości (domyślnie 2)
  • mp_tournament_readymode_team_size 9 - określa pożądaną ilość graczy wymaganą do rozpoczęcia gry w obu drużynach, oczywiście wartość 9 jest dla trybu Highlander
  • sm_cf etf2l - ustawia wszystkie poprawki wykorzystywane przez ETF2L w pluginie tf2-comp-fixes[github.com], zamiast etf2l można także podać wartości "ozf" dla OZFortress i "rgl" dla RGL



    TFTrue:
  • tftrue_freezecam 0 - włącza freeze cam - po zgonie gracz nie zobaczy ile HP ma jego zabójca i przez to spawn jest szybszy (przydatne dla trybu BBall)
  • tftrue_whitelist 2 - alternatywna opcja do ustawienia białej listy przedmiotów, 1 ustawia whitelistę ETF2L 6v6, 2 ustawia ETF2L 9v9
  • tftrue_whitelist_id 9429 - ustawia whitelistę o numerze ID 9429,
  • tftrue_whitelist_id etf2l_9v9_s17 - ustawia whitelistę o nazwie etf2l_9v9_s17,
  • tftrue_restorestats 1 - włączenie tego powoduje przywrócenie statystyk po podłączeniu się do serwera ponownie w przypadku chwilowej utraty połączenia
  • tftrue_logs_includebuffs 1 - włącza zbieranie informacji o leczeniu do logów generowanych przez plugin logs.tf
  • tftrue_logs_accuracy 1 - włącza zbieranie precyzyjnych logów (np. dotyczących celności z konkretnej broni), domyślnie wyłączone
Ustawienia TFTrue można sprawdzić poprzez wpisanie !tftrue w czacie:










Przydatne polecenia z poziomu gracza, które wymagają sv_cheats 1 (nie wymagają wpisywania przed poleceniem rcon):
  • noclip - pozwala graczom na przechodzenie przez wszystkie ściany oraz na wiszenie w powietrzu
  • hurtme 100 - zadaje obrażenia w postaci 100 punktów życia, w przypadku podania ujemnej wartości dodaje je do punktów życia
  • impulse 101 - uzupełnia amunicję i punkty życia do maksimum (jeśli nie są maksymalne lub jeśli gracz nie jest nadleczony)
  • addcond 57 - daje graczom nieskończony ÜberCharge,
  • addcond 3 - daje graczom nieskończone krytyczne obrażenia (efekt Kritzkriega),
  • ent_remove - usuwa element mapy wskazany na celowniku (na przykład może usunąć zamknięte bramy w pre-game na pl_upward)






status - wyświetla wiele istotnych informacji na temat serwera na którym zostało wykonane te polecenie (rcon status wyświetli status serwera, który kontrolujemy i możemy to zrobić nie będąc na serwerze)
Kilka słów od siebie
Kilka rzeczy, których większość graczy z jakiegoś powodu nie rozumie:
Jeśli jakaś usługa posiada domyślny port, a my właśnie chcemy się połączyć do tej usługi używając tego portu - nie musimy go podawać.
Przykład:
Mój serwer (supra.tf) nasłuchuje połączenia na porcie TCP 27015, który jest domyślnym portem dla serwerów SRCDS (dla gier opartych na silniku Source, czyli Team Fortress 2 także). Dzięki temu takie polecenie zadziała:
connect supra.tf:27015
ale takie też:
connect supra.tf
Ponieważ domena supra.tf jest przypisana do IP 194.13.80.222:








zadziałają także takie polecenia:
connect 194.13.80.222
connect 194.13.80.222:27015
Serwery SRCDS nie obsługują IPv6.

Inny przykład:
Łącząc się na stronę internetową facebook.com korzystającą z protokołu HTTP, który korzysta domyślnie z portu TCP 80 nie musimy wpisywać w przeglądarce facebook.com:80 - przeglądarka "wie o co chodzi" i sama taki port zdefiniuje. To, że zostaniemy przeniesieni na port TCP 443, bo facebook.com wymusza wykorzystywanie HTTPS poprzez nagłówki HSTS to inna historia ;)

Podasz connect do stv?
Jeśli to czytasz to istnieje spora szansa, że właśnie zadałeś mi te pytanie. Na dzień dzisiejszy wszystkie serwery serveme.tf, melkor.tf i mój serwer supra.tf ma włączone SourceTV i ono pracuje na porcie o 5 większym od portu serwera mając hasło tv. Taka konfiguracja jest niepisaną regułą pod kątem konfigurowania serwerów SRCDS stosowaną przez większość administratorów.
Przykład:
Jesli connect do serwera to:
connect supra.tf; password dupa69
to muszę używać domyślnego portu SRCDS - 27015. W takiej sytuacji connect do STV to:
connect supra.tf:27020; password tv

Podobnie jest w przypadku serveme.tf:
connect wilhelm.fakkelbrigade.eu:27125; password ra_no_yokushinryu
connect wilhelm.fakkelbrigade.eu:27130; password tv

Dodatkowo poprzez polecenie status jesteśmy w stanie sami sprawdzić na jakim porcie pracuje SourceTV oraz z jakim opóźnieniem obserwatorzy oglądają rozgrywki:












Dodatkowo polecam dodanie aliasów do autoexec.cfg lub custom.cfg jeśli korzystacie z mastercomfig by nie musieć klepać tyle poleceń:
rcon_password szosteczki rcon_address 54.38.187.170:27015 alias "tv" "rcon tv_delaymapchange_protect 0" alias "mixvote" "rcon sm_votemap "cp_prolands_b6" "koth_product_rc9" "cp_snakewater_final1" "cp_gullywash_final1" "cp_sunshine"" alias "reckoner" "rcon changelevel cp_reckoner_rc2" alias "badlands" "rcon changelevel cp_badlands" alias "prolands" "rcon changelevel cp_prolands_b6" alias "process" "rcon changelevel cp_process_final" alias "snakewater" "rcon changelevel cp_snakewater_final1" alias "gullywash" "rcon changelevel cp_gullywash_final1" alias "granary" "rcon changelevel cp_granary_pro_b8" alias "product" "rcon changelevel koth_product_rc9" alias "metalworks" "rcon changelevel cp_metalworks" alias "sunshine" "rcon changelevel cp_sunshine" alias "badwater" "rcon changelevel pl_badwater" alias "badwaterpro" "rcon changelevel pl_badwater_pro_v12" alias "upward" "rcon changelevel pl_upward" alias "barnblitz" "rcon changelevel pl_barnblitz_pro6" alias "steel" "rcon changelevel cp_steel" alias "borneo" "rcon changelevel pl_borneo" alias "coalplant" "rcon changelevel koth_coalplant_b8" alias "warmtic" "rcon changelevel koth_warmtic_b6"

Swoją drogą też są polecenia do ustawiania nazw teamów, ale to można zrobić tylko z poziomu konsoli serwera (nie jestem pewien czy zadziała to z rcona):
mp_tournament_redteamname nazwa_teamu_red mp_tournament_blueteamname nazwa_teamu_blu

Wielkie dzięki dla MuodyM i T.J za znalezienie literówek oraz dla Houston za wspomnienie o readymode.
23 Comments
Soon... Jan 10, 2021 @ 6:17pm 
Polecam poradnik z całego mojego serduszka.
putis putin putiis Jun 5, 2019 @ 9:38am 
Bardzo rzetelny
glck May 28, 2019 @ 3:52am 
Dzięki bardzo oraz dobry poradnik!
supra #poLANd.tf  [author] May 10, 2019 @ 7:16am 
to dlatego, bo warto rozumieć co się robi xd
diarrhea May 9, 2019 @ 12:30pm 
To się rozpisales...
Cody Apr 10, 2019 @ 3:22pm 
Dzięki świetny poradnik
Playerrrr Nov 27, 2018 @ 11:17am 
Ten poradnik przywócił mi wiarę w sekcję poradników
Tajto Nov 26, 2018 @ 2:33pm 
Thanks <3 (no homo)
supra #poLANd.tf  [author] Nov 26, 2018 @ 11:18am 
oh yeah, i was thinking about it and i'll be doing that in the x-mas time
Tajto Nov 26, 2018 @ 10:24am 
Can you make a english version out of this maybe? (just asking)