Symulator EU07 (i nie tylko) > Na warsztacie

 Instalator+Starter+Edytor (Rainsted)

(1/83) > >>

Ra:
Witam!

Stosunkowo niedawno dotarłem na te strony, wcześniej mnie to nigdy nie interesowało (kolej poniekąd tak). Patrzę na to z mojego punktu widzenia, jako osoby biernie zainteresowanej koleją i w miarę zorientowaną w informatyce.

1. W zasadzie chcąc sobie "pojeździć", w ogóle nie bardzo wiadomo, jak się do tego zabrać. Gdzieś są jakieś paczki, jakieś trasy, jakieś poprawki. Na stronie głównej eu07.pl jest jeszcze jako taki porządek (tylko nieco przeterminowany), ale na forum jest mnóstwo dodatków, większość w postaci linków do nieistniejących (już) plików.

2. W wątkach na forum przeplatają się sensowne dyskusje z wtrąceniami "nie działa mi". Ciężko się to czyta, zwłaszcza w wątkach mających po kilkanaście stron. Nieco zbyt dużo złośliwych uwag...

3. Brak jakiejś dalszej wizji. Mimo przeczytania kilkuset wątków nie wiem, jakie trasy powstają, jakie utknęły, czy jest jakaś perspektywa dla "starego symka" i jaka jest dla SPT.

4. Braki w dokumentacji. Z linków w postach na forum wysnułem wniosek, iż kiedyś na eu07.pl znajdowały się pliki z dokumentacją, które z bliżej nieokreślonych powodów zniknęły.

5. Gdzieś dopiero zza tego rozgardiaszu wyłania się obraz, jak wielka praca została wykonania, żeby to wszystko zrobić. Nie wypróbowałem jeszcze wszystkiego (trochę ciężko za tym nadążyć), jest parę rzeczy, których nie rozumiem (np. dlaczego nie ładują się wagony w Dejawach). Ale na prawdę jestem pod wrażeniem całokształtu.

6. Z wielu wątków na forum wynika dla mnie brak instalatora pakietów. O tym poniżej.


Pomysł na instalator pakietów:

1. Program przeglądałby pliki .scn w celu stworzenia listy plików wymaganych dla danej scenerii. Lista taka miałaby przynajmniej 2 zastosowania: uzupełnianie brakujących oraz tworzenie paczki instalacyjnej do wysłania.

2. W celu rozróżnienia różnych wersji plików program powinien uwzględniać daty oraz sumy kontrolne plików (np. CRC16).

3. Program powinien współpracować z serwerem plików (protokół HTTP). Na serwerze powinny być umieszczone wszystkie oficjalnie wypuszczone pliki (modele, tekstury, includy, dźwięki itd.), we wszelkich dostępnych wersjach (data+CRC). Być może również nieoficjalne wersje testowe.

4. Program powinien umożliwić edycję składów w plikach, zmianę nieba, edycję lub aktualizację pliku "dynamic.dat", być może również edycję plików .chk czy .mmd ze szczegółowym objaśnieniem, co jest co i do czego. Niemniej nie ma sensu kopiować STV.

5. Program powinien sobie radzić ze spakowanymi archiwami. Jest taki pakiet 7zip, którym można by się posiłkować.

6. Do każdego pliku (ścieżka+nazwa+data+CRC) powinna być możliwość wpisywania komentarzy (umieszczanych na serwerze). Komentarze mogłyby być pobierane razem z plikiem. Na podstawie komentarzy można by sobie wybierać odpowiednią wersję pliku (ewentualnie program sam by o tym decydował).

7. Na wszelki wypadek powinna być obsługa mirrorów (serwerów zastępczych).

8. Niektóre osoby (tworzące trasy lub je poprawiające) miały by prawo zapisywania nowych plików bezpośrednio z instalatora.

9. Większa liczba osób (również ograniczona) miała by prawo do komentowania plików.

10. Przy okazji analizowania scenerii, program mógłby sprawdzać pewne rzeczy. Np. niedopasowania torów o kilka mm (tzw. null track), tory zerowe, pionowe, zbyt długie, pliki przeniesione do innego katalogu... Ogólnie informować o innych tego typu błędach.

11. Ewentualnie wykonywać konwersję "starych" scenerii do nowego układu plików (podmiana tekstur i modeli we wpisach node).


Co mogę zrobić:

1. Napisać taki program, o ile ktoś by ze mną współpracował w zakresie jego testowania i zgłaszania mi uwag. Zbyt wiele już rzeczy zacząłem robić samotnie dla siebie i wiem, że to nie jest dobry punkt wyjścia.

2. Dostosować posiadane przeze mnie skrypty PHP do obsługi serwera plików.

3. Zaoferować miejsce i transfer na moim serwerze. Aktualnie posiadam wolne moce, które by się do tego nadawały. Ewentualnie mogę też zrobić jeden mirror. Ktoś inny by musiał uruchomić jeszcze jeden lub dwa.


Czego oczekuję:

1. Powstrzymania mnie, jeśli takie coś już istnieje. Bo może o czymś nie wiem... Nie czuję misji do robienia "lepszej pułapki na myszy". Nie pociąga mnie też tworzenie konkurencji.

2. Rzeczowych wypowiedzi w temacie.

3. Jeśli to możliwe, udostępnienia parsera i klas zastosowanych w symulatorze.

4. Pomocy przy dopracowaniu wyglądu i opisów. Ja się czuję dobrze w przetwarzaniu danych i strukturach abstrakcyjnych, natomiast komunikacja z ludźmi mi gorzej wychodzi.

2009-03-06 Zmiana tytułu wątku.

Mariusz1970:
Kiedyś robiłem prymitywne stosunkowo narzędzie do wyciągania wszystkich plików używanych w daniej scn. Problem miałem taki, że pliki rozróżniał po rozszerzeniu. Czytał każdy wiersz i jeżeli np. natrafił na frazę np .tga odczytywał nazwę pliku. Problemy były, gdy:
1)plik używany był bmp, a gdzieś w includzie w parametrach nie musi być określenie rozszerzenia dla bmp,
2)był więcej niż jednen plik o takiej samej nazwie ale w różnych katalogach -wtedy użytkownik dokonywał wyboru.
3)program nie powinien kopiować to co autor trasy ma w dynamic/pkp
Poszukaj, gdzieś zdaje się w dziale inne kolejowe.
Ponadto ktoś już chciał podobnego robić co chesz zrobić, zdaje się w dziale na warsztacie, ale coś ucichło.
Tam poznasz moje zdanie na ten temat.
Największy dla mnie ból, to doprowadzanie danych scenerii, aby eventy działały bezproblemowo. Coś tam wspomniałeś o null tracku, często to wynika z błedu eventu scenerii, jakiegoś bugu w modelu, czy w exe. Tu już żaden automat nie pomoże.
Co do tras, często trasy się gryzą ze sobą, bo ktoś nazwał plik, który już istnieje (szczególnie inc semaforów). Trzeba wtedy np. gdzieś w scn zmienic nazwę includowanego pliku i zmienic nazwę samego pliku.
W taborze też sprawa prosta nie jest. Często są te same foldery, a zawartość inna u każdego z userów.
Ponadto nie sądzę, aby autorzy dodatków bawili się jeszcze w instalator, chyba, że będzie szybki i łatwy w obsłudze.
Stan obecny wynika z hobbystycznego podejścia, gdyby pewno komuś płacić, to robiłby ktoś tzw. paczki całościowe, które zawierały by co do tej pory wyszło, a co jest warte uwagi.
Nie chcę przez to zniechęcać, coś przydałby się zrobić, ale pomysłu nie mam, bo odrazu szukam co by było gdyby i pomysł upada.
Myślę, zę jeśli chcesz coś robić, to zacznij od spraw najważniejszych twoim zdaniem z tej całej litanii, którą wypisałeś. Daj do przetestowania, a później dorabiaj te mniej znaczące rzeczy.

uetam:

--- Cytat: "Ra" ---
3. Zaoferować miejsce i transfer na moim serwerze. Aktualnie posiadam wolne moce, które by się do tego nadawały. Ewentualnie mogę też zrobić jeden mirror. Ktoś inny by musiał uruchomić jeszcze jeden lub dwa.

--- Koniec cytatu ---

Jezeli nie jest potrzebne konto roota to ja moge.

Ra:
Wyobrażam sobie to w taki sposób, że autor scenerii (bądź ktoś, komu dana sceneria działa bezbłędnie) - zapuszcza program, który tworzy spis używanych plików wraz z ich datami modyfikacji oraz sumami kontrolnymi (CRC). Dzięki temu będzie można rozpoznać sytuacje, gdy plik ma tę samą nazwę, a inną zawartość. Inny użytkownik pobiera sobie plik scenerii oraz ten spis plików i dalej następuje synchronizacja - albo pobiera sobie brakujące pliki z serwera, albo program sugeruje przenosiny posiadanych plików pomiędzy katalogami, albo modyfikację pliku scenerii. Zakładam przy tym, że na serwerze plików będzie utrzymany porządek i tam będzie ktoś pilnował, by pliki trafiały do właściwych im katalogów.

Czytałem, że ktoś już coś robił. Być może wszystkiego nie doczytałem. Ale nie widziałem koncepcji pobierania plików online ze wspólnego serwera, na którym jest porządek w plikach (tzn. jest jakiś klucz na ich układanie).

http://www.eu07.pl/forum/viewtopic.php?t=6127 Archiwum SFX
 - o samorozpakowywujących się archiwach

http://www.eu07.pl/forum/viewtopic.php?t=5045 Instalator Dodatków
 - o instalatorze paczek i zawiłym ich tworzeniu

http://www.eu07.pl/forum/viewtopic.php?t=4386 Szopa Loader
 - pomysł i stary program, który już nie działa

Doprowadzanie eventów do działania mnie też gryzie, ale nad ewentualnym edytorem będę myślał później. Akurat w "quarkmce" próbowałem ruszyć machajką i wywalało mi "null track" - okazało się, że między torami jest 1mm przerwy. Poprawiłem i zaczęło działać dobrze. Program mógłby także dopisywać na wszelkich zakończeniach ukryte tory nachylone pod kątem 30° i z dużym współczynnikiem tarcia, aby wszystko co tam wjedzie się samo zatrzymało...


Jeśli trasy się gryzą, widzę takie rozwiązanie:
1. ustalić (automatem) jakie konkretnie pliki są dla danej trasy (nazwa+data+CRC),
2. ustalić (ręcznie), gdzie te pliki powinny być umieszczone i pod jakimi nazwami,
3. zmodyfikować (automatem) pliki .scn dla nowych warunków,
4. zapisać (automatem) te reguły zmian do ewentualnego powtórzenia w przyszłości.

Można zrobić tak, że CRC pliku zostanie dodane do jego nazwy, a następnie ta nazwa zostanie użyta w plikach scenerii. Na serwerze będzie komentarz do tego pliku, iż nie zaleca się jego używania w nowych projektach, ale jest wymagany w scenerii nnn...

To nie ma być instalator w sensie instalatorów programów pod Windows (InstallShield). To ma być raczej synchronizator plików i analizator danych... Coś bardziej jak Windows Update.

Nie wierzę specjalnie w paczki całościowe, że ktoś coś takiego jeszcze zrobi. A uważam, że warto to pozbierać w całość - i lepiej będzie to zrobić w sposób dynamiczny i rozproszony. Przynajmniej odpadnie problem poprawek do starych plików oraz szarych plam.

Dla mnie najważniejsze z tego jest wykonanie spisu plików będących w użyciu, powiązanie ich ze sceneriami oraz ściąganie pliku we właściwej wersji z serwera HTTP. Tego mi najbardziej brakowało, gdy zaczałęm jeździć... Widzę szare wagony i nie wiem czemu. Poczytałem, dociągam jakieś pokątne archiwa i się poprawiło. Ale nadal zdarzają się szare i pilnowanie tego zniechęca. A prosty program wraz z pewnymi działaniami organizacjnymi by to załatwił.

Niemniej zanim zacznę cokolwiek robić, chcę się dowiedzieć, co mają do powiedzenia ludzie bardziej zorientowani. Z doświadczenia wiem, że tak jest lepiej.


Do budowy mirrora potrzebny będzie serwer z ok. 2GB wolnego miejsca (chyba wystarczy...), PHP, MySQL, dostępem do crona i wget.

Mariusz1970:
Ja się tam nie wtrącam, ale z reguły najsłabsze ogniwo to człowiek. To co proponujesz to taki a'la SVN.
Co do null tracka wyłapanego, to fuksik, z reguły wynika z innych przyczyn.
Na koniec: MaSzyn jest tyle, ile jej użytkowników i konsekwcencji z tego wynikających.

Nawigacja

[0] Indeks wiadomości

[#] Następna strona

Idź do wersji pełnej
Powered by Advanced Topic Prefix Pro
Powered by SMFPacks Likes Pro Mod