Tworzenie listy map za pomocą Valve Workshop.

Tworzenie listy map za pomocą Valve Workshop.

Poprzednie 2 odcinki poświęciłem na omówieniu trybów gry i modyfikowaniu standardowych ustawień mapek na serwerze. Jednak zawsze na każdym serwerze przychodzi czas by dodać mapki niestandardowe. Tutaj zawsze był problem, bo poza koniecznością posiadania serwera gry, trzeba udostępnić osobny serwer www by umożliwić graczom szybkie ściąganie mapek za pomocą mechanizmu url download. W swoim założeniu rozwiązanie to sprawdzało się wiele lat. Lecz Valve, wraz z rozwojem CS:GO udostępniło graczom, specjalny "sklep" z mapkami - Workshop. Każdy kto posiada konto steam, może utworzyć swój pakiet mapek niestandardowych za pomocą udostępnionego na www narzędzia a następnie można wystawić ten pakiet graczom na swoim serwerze. Gracze, wchodząc na serwer, pobierać będą mapki bezpośrednio z tego pakietu. Rozwiązanie proste w swym założeniu. Trzeba jednak powiedzieć że rozwiązanie to przechodzi problemy dorastania. Workshop potrafi użytkownikom sprawić problem.

W tej części poradnika pokaże jak utworzyć swój własny pakiet mapek w markecie Valve i jak go podłączyć pod swój serwer CS:GO. Zatem zaczynamy.

Generowanie klucza Steam Web API

Rozumiem że posiadasz konto na Steamie? Tak tylko pytam, bez tego nie wygenerujesz klucza Steam Web API potrzebnego by utworzyć swoje konto w Workshopie. Klucz ten będzie potrzebny by skojarzyć Twoją kolekcję mapek z serwerem gry.
Będąc zalogowanym na steampowered.com, przechodzimy do adresu:

http://steamcommunity.com/dev/apikey

Steam Web APISteam Web API

Pole "nazwa domeny" wypełniłem przykładową nazwą serwera. Klikam w przycisk zarejestruj.
Podany zostanie klucz - wieloznakowy ciąg, skopiuj sobie go do schowka.

UWAGA: Nikomu nie udostępniaj swojego klucza Steam Web API bowiem jest on przypisany do Twojego konta steam!

Przypisanie klucza do serwera gry

Mamy dwie metody by przypisać klucz do serwera.
Metoda 1 - poprzez linię komend startowych serwera (przykład dla srcds dla Windows Server.

srcds.exe -game csgo -console -ip [adres_ip_serwera] +game_type 0 +game_mode 1 +host_workshop_collection xxxxxx +workshop_start_map yyyyy -authkey [klucz Steam Web API]

gdzie [klucz Steam Web API]to właśnie twój klucz ktgóry sobie wygenerowałeś.
W kodzie pojawiają się też dwie komendy

  • +host_workshop_collection xxxxxx - gdzie XXXXXX to numer rejestracyjny Twojej kolekcji mapek w markecie Workshop
  • +workshop_start_map yyyyy - gdzie yyyyy to mapka w pakiecie od której będziemy startować serwer gry.

Metoda 2 - utworzenie pliku webapi_authkey.txt i wpisanie do niego swojego klucza.

[katalog CSGO]\csgo\webapi_authkey.txt

Na hostingu G4G.pl poprzez edytora linii komend można skorzystać z metody 1, albo za pomocą klienta FTP z metody 2. Wybór należy do Was i do waszych preferencji.

Po wpisaniu klucza na serwerze, restartujemy serwer gry. Ten krok uznajemy za zakończony.

Dodawanie mapek do serwera

Teraz czas zbudować swoją listę mapek i powiadomić o tym fakcie nasz serwer gry. Metody są dwie

  • skorzystanie z tzw listy subskrypcyjnej (dwa pliki tekstowe w katalogu CSGO)
  • skorzystanie z linii komend startowych serwera (patrz wyżej) bądź z wpisów w pliku server.cfg

Metoda 1 - lista subskrypcyjna. Mamy dwa pliki

[katalog CSGO]\csgo\subscribed_collection_ids.txt
[katalog CSGO]\csgo\subscribed_file_ids.txt

Zawartość tych 2 plików jest ładowana do pamięci serwera podczas startu. Ponowne załadowanie danych (np po edycji tych plików, czyli po dodaniu innych mapek) można wymusić komendą wydaną w konsoli serwera (lub przez rcona):

ds_get_newest_subscribed_files

Dobrze ale co wpisać w tych 2 plikach?
W pliku subscribed_collection_ids.txt wklepujemy numer pakietu mapek.
W pliku subscribed_file_ids.txt wpisujemy poszczególne numery mapek .
Numery te odczytujemy z adresów URL w czasie przeglądania Workshopa.
Dla przykładu pobieramy numer kolekcji
Wchodzimy na stronę Workshopa z gotowymi pakietami. Na liście ten znajdują się nie tylko mapki, ale także skiny broni i modele postaci. Nas interesują pakiety map dla trybu Classic. Posługując się dostępnymi na stronie filtrami znalazłem pakiet pod nazwą RevZ's collection (zawartość pakietu to mapki de_cache, de_dust2_se, de_inferno_se, de_mirage_go, de_nuke_se, de_train_se)

steamcommunity.com/sharedfiles/filedetails/?id=128625264

Cyfra z linka czyli 128625264 to numer pakietu. Ten właśnie numer wpisujemy do subscribed_collection_ids.txt i restartujemy serwer.
W oknie konsoli serwera możemy zobaczyć takie komunikaty:
Steam Web API - pobieranieSteam Web API - pobieranie

Jak widzimy na serwer pobierane są mapki. O to nam chodziło!

Teraz chcemy jeszcze "dograć" jeszcze jedną mapkę. Niech to będzie mapka Toscan

steamcommunity.com/sharedfiles/filedetails/?id=201811336

Numer mapki 201811336 dopisujemy do pliku subscribed_file_ids.txt (przypominam że w tym pliku dopisujemy numery pojedynczych mapek) i restartujemy serwer. Mapka zostaje pobrana na serwer. Super. Wszystko gra.

Metoda 2 - wykorzystamy linię komend serwera by osiągnąć ten sam efekt jak w metodzie pierwszej.
Budujemy linię komend w postaci:

srcds.exe -game csgo -console -ip [adres_ip_serwera] +game_type 0 +game_mode 1 +host_workshop_collection 128625264 +workshop_start_map 125488374 -authkey [klucz Steam Web API]

Wartość przy +workshop_start_map 125488374 to mapka de_dust2_se która ma być załadowana po starcie serwera.

Budowanie własnego pakietu mapek

Do tej pory korzystaliśmy z gotowych pakietów. Czas byśmy zbudowali swój własny pakiet mapek.
Na początku przechodzimy do katalogu mapek i dodajemy do ulubionych te które chcemy aby znalazły się w naszej kolekcji.
Workshop - dodawanie mapek do ulubionychWorkshop - dodawanie mapek do ulubionych
Przechodzimy do swoich Ulubionych (tam będą się znajdować zaznaczone przez Ciebie mapki)
Workshop -ulubioneWorkshop -ulubione
Najpierw musimy stworzyć kolekcję. Wypełniamy wszystkie dostępne w formularzu pola (nazwa kolekcji niech będzie jednym wyrazem, nie wiedzieć dlaczego czasem są problemy z nazwami wielowyrazowymi).
Następnie dodajemy do utworzonej kolekcji mapki z Ulubionych
Workshop - dodawanie mapek do kolekcjiWorkshop - dodawanie mapek do kolekcji
Klikamy zachowaj. Następnie potwierdzamy umowę Warsztatu Steam na publikację plików i kolekcja gotowa.
Cofamy się do strony głownej Workshopu dla gry CSGO. Klikamy w "Twoje przedmioty z Warsztatu" i przechodzimy do zakładki Kolekcje. Klikamy w naszą kolekcję i pobieramy jej numerek. Sposób postępowania z implementacją tej kolekcji opisałem wyżej.
Od teraz możesz się ciszyć swoja niestandardową listą mapek.


Tagi:

Komentarze

Portret użytkownika prezes.cc

Jak zrestartować, uruchomić i zatrzymać serwer

Stawiam serwer wg tego poradnika i nie wiem jak zrestartować, uruchomić i zatrzymać serwer