What's new

Kompilacja TFS 1.2 problemik

Pucek1993

Active User
Joined
Feb 4, 2016
Messages
71
Reaction score
1
Siema ;) Pr?buje skompilowa? silniczek TFS 1.2 pod klienta 7.60, niestety co? nie idzie - zmieni?em w source

PHP:
#ifndef FS_DEFINITIONS_H_877452FEC245450C9F96B8FD268D8963
#define FS_DEFINITIONS_H_877452FEC245450C9F96B8FD268D8963

#define STATUS_SERVER_NAME "OTX Server"
#define STATUS_SERVER_VERSION "3"
#define MINOR_VERSION "7"
#define REVISION_VERSION "DEV"
#define SOFTWARE_CODENAME "SAILOR"
#define STATUS_SERVER_DEVELOPERS "Mattyx14, Brewsterl and The Forgotten Server Developers"
#define GIT_REPO "https://github.com/mattyx14/otxserver/tree/otxserv3/"

#define CLIENT_VERSION_ITEMS 3

#ifdef _MULTIPLATFORM77
#define CLIENT_VERSION_MIN 760
#define CLIENT_VERSION_MAX 760
#define CLIENT_VERSION_STR "7.60"
#else
#define CLIENT_VERSION_MIN 760
#define CLIENT_VERSION_MAX 760
#define CLIENT_VERSION_STR "7.60"
#endif

Lecz po kompilacji silnik nadal jest pod 7.60, w configu r?wnie? ustawi?em 7.60.
Kto? ma jaki? pomys??
 

Placek

Blue Waffle
Joined
Sep 30, 2008
Messages
6,793
Reaction score
672
Age
9
Odp: TFS 1.2 problemik

Chcesz 7.60, ustawi?e? 7.60, po kompilacji jest 7.60.
W czym problem? :D

Flagi ustawione?
If you using 7x, protocol version can be changed in the Makefile.am - $(OPTIONAL_FLAGS), just add -D_MULTIPLATFORM7X where X is 6 or 7.

-D_MULTIPLATFORM77
-D_MULTIPLATFORM76
If you no use this flags the compilation for default is 7.4
 

Pucek1993

Active User
Joined
Feb 4, 2016
Messages
71
Reaction score
1
Odp: TFS 1.2 problemik

Gdzie s? flagi w Microsoft Virtual Studio? ps. teraz mam tak, ?e mam tibi? 7.60 odpalona a pokazuje ?e klient tylko 7.60. Ju? nie mam pomys??w.
 

Placek

Blue Waffle
Joined
Sep 30, 2008
Messages
6,793
Reaction score
672
Age
9
Odp: TFS 1.2 problemik

Co prawda w dokumentacji do otx2, ale nie ci??ko znale??:
If you want to switch the protocol version, go to Project Properties -> C/C++ -> Preprocessor and edit _PROTOCOL77 definition with either 74 or 76.

_MULTIPLATFORM77
_MULTIPLATFORM76
 

Pucek1993

Active User
Joined
Feb 4, 2016
Messages
71
Reaction score
1
Odp: TFS 1.2 problemik

Ju? sprawdzam, a za pokazanie miejsca z flagami reput i oczywi?cie podzi?kowania :D pozdrawiam :)
 

Saiyans King

Forum friend
Joined
Feb 6, 2009
Messages
97
Reaction score
18
Odp: TFS 1.2 problemik

Gdzie s? flagi w Microsoft Virtual Studio? ps. teraz mam tak, ?e mam tibi? 7.60 odpalona a pokazuje ?e klient tylko 7.60. Ju? nie mam pomys??w.
Jest to spowodowane tym ze otx jest tworzony przez idiot?w i prawdopodobnie w protocollogin.cpp masz warunek(i nie chce mi si? sprawdza? czy gdzie? jeszcze):
[CPP]if (version <= 760) {
disconnectClient(g_config.getString(ConfigManager::VERSION_STR));
return;
}[/CPP]

a na sam? logik? wida? ze ten warunek nie pozwoli wej?? klientom poni?ej i r?wnym jak 7.6 nie wa?ne z jakimi flagami skompilujesz
 

Pucek1993

Active User
Joined
Feb 4, 2016
Messages
71
Reaction score
1
Odp: TFS 1.2 problemik

Wi?c co mam tutaj zmieni?? Po zmianie flagi jest nadal to samo.

if (version == 760) {
disconnectClient(g_config.getString(ConfigManager: :VERSION_STR));
return;
}
 

Saiyans King

Forum friend
Joined
Feb 6, 2009
Messages
97
Reaction score
18
Odp: TFS 1.2 problemik

Usu? ten warunek bo jest zbyteczny w przypadku u?ywania klienta 7.6 i nie pozwoli ci wej?? na serwer.
 

Pucek1993

Active User
Joined
Feb 4, 2016
Messages
71
Reaction score
1
Odp: TFS 1.2 problemik

Dzi?kuje, dzia?a - nie usuwa?em, wpisa?em 7.50 po prostu. Temat do zamkni?cia - a co do tego ?e jest przez idiot?w tworzony, to racja, nawet amator mo?e to przyzna? ;x Zauwa?y?em ?e w innych protoko?ach, jest ten warunek ale odwo?uje si? do MIN i MAX klienta, a nie tak jak tutaj. Pozdrawiam! :)

---------- Tre?? dodana o 00:10 ----------

Jest tylko taki dziwny problem - przy klikaniu myszk? na ekran, posta? si? zawiesza i trzeba relog. hmm..
 

Placek

Blue Waffle
Joined
Sep 30, 2008
Messages
6,793
Reaction score
672
Age
9
Odp: TFS 1.2 problemik

Fakt 1.
Nie jest robiony przez idiot?w. Jak si? nie podoba, to zr?bcie lepiej.

Fakt 2.
Mo?e ten warunek nie by? tylko dlatego, ?e si? komu? nie podoba numerek przy nazwie klienta, ale dlatego, ?e faktycznie co? mo?e nie dzia?a na takim kliencie? Czy to z powodu braku czasu, czy umiej?tno?ci autor?w silnika. Ale to nie ma znaczenia z jakiego powodu. Nie dzia?a i tyle.

Fakt 3
Chyba wszystkie powa?niejsze serwery na starym kliencie s? i tak robione na 7.7 czy tam 7.72... To, ?e grafik par? jest wyci?tych / podmienionych ?eby serwer wygl?da? na 7.4 czy 7.6, nie znaczy, ?e silnik i gra chodzi na 7.6 ;)
Proponowa? bym zrobi? to samo. Wyci?? z gry po prostu to co dosz?o w update 7.7. U?ywa? 7.7, ale powiedzie?, ?e serwer jest 7.6. To dzia?a i si? sprawdza.

Fakt 4
Jak si? nie podobaj? rozwi?zania proponowane przez "idiot?w z otx" to zawsze mo?esz albo u?ywa? czystego tfs'a 1.2 na tibii 10.96, czy inn? wersj? (1.2 na 10.77, 0.4/0.3.6 na 8.6-9.x, do wyboru do koloru), albo si? przesi??? na jaki? stary silnik kt?ry faktycznie obs?uguje 7.6.
No albo tak jak pisa?em, wprowadzi? poprawki do otx. Jest open source, nikt si? nie obrazi jak zaproponujesz commita kt?ry pozwoli bez problemu obs?ugiwa? czyste 7.6.
 

Pucek1993

Active User
Joined
Feb 4, 2016
Messages
71
Reaction score
1
Odp: TFS 1.2 problemik

Dzia?a mi ju? pod klienta 7.60 :)

Tylko mam jaki? dziwny problem, nie dzia?a map click - posta? przejdzie jedn? kratk? i jest lagg, ci??ka sprawa.
 

Placek

Blue Waffle
Joined
Sep 30, 2008
Messages
6,793
Reaction score
672
Age
9
Odp: TFS 1.2 problemik

@up
W?a?nie do tego si? odnosi? m?j post wy?ej.
Zmiana obs?ugiwanej wersji klienta to nie jest takie pyk i zmieni?e? warunek jeden.
Co? mo?e zadzia?a?, a co? nie. To, ?e cz?sto wystarczy doda? jak?? flag? przy kompilacji, czy ustawi? co? w konfiguracji, to cz?sto kwestia dziesi?tek / setek linii kodu, kt?re obs?ugiwane s? r??nie, zale?nie od tego ustawienia.
Skoro by? warunek, ?e 7.6 nie obs?ugujemy, to w tych setkach linii kodu s? jakie? braki. I tu jest problem, ?e chc?c doprowadzi? 7.6 do dzia?ania, musisz teraz rozgrzeba? wszystkie te linijki i wiedzie? o co chodzi. Poprawi? map clicka. Sprawdzi? czy dzia?a. A potem poprawi? jeszcze 20 rzeczy, kt?re jednak nie dzia?aj?, bo r?wnie? nie s? obs?ugiwane przez ten silnik.
Rozwi?zanie? Czytaj post wy?ej.
 

Pucek1993

Active User
Joined
Feb 4, 2016
Messages
71
Reaction score
1
Odp: TFS 1.2 problemik

Ten silnik kt?ry pobra?em otx' jest podobno kompatybilny z klientem 7.4/7.72 wi?c nie powinno by? niby ?adnych problem?w. Ten, skompilowany pod 7.72 (od ot'xa) - dzia?a poprawnie, map click r?wnie?.
 

Saiyans King

Forum friend
Joined
Feb 6, 2009
Messages
97
Reaction score
18
Odp: TFS 1.2 problemik

Ten silnik kt?ry pobra?em otx' jest podobno kompatybilny z klientem 7.4/7.72 wi?c nie powinno by? niby ?adnych problem?w. Ten, skompilowany pod 7.72 (od ot'xa) - dzia?a poprawnie, map click r?wnie?.
Dlatego w?a?nie napisa?em ze s? idiotami.
Jak chcesz mapclicka to musisz zmieni? w protocolgame.cpp w funckji "void ProtocolGame::parseAutoWalk(NetworkMessage& msg)":
[CPP]if (numdirs == 0 || (msg.getBufferPosition() + numdirs) != (msg.getLength() + 4)) {
return;
}[/CPP]
na:
[CPP]#ifdef _MULTIPLATFORM77
if (numdirs == 0 || numdirs+2 != msg.getLength()) {
return;
}
#else
if (numdirs == 0 || numdirs+4 != msg.getLength()) {
return;
}
#endif[/CPP]
i powinno dzia?a? bo ?eby oryginalna metoda zadzia?a?a pod 7.6 by? musia? zmieni? "(msg.getLength() + 4)" na " (msg.getLength() + 2)" jest to spowodowane tym ze 7.6 nie ma dodatkowych 2 bajt?w na przechowywanie rozmiaru zakodowanych danych
 
Last edited:

Pucek1993

Active User
Joined
Feb 4, 2016
Messages
71
Reaction score
1
Odp: TFS 1.2 problemik

Kurcz?! Pomog?o to co napisa?e?, po d?u?szym czasie pracy nad serwerem, powolnych ale powolnych stwierdzi?em ?e podejd? jeszcze raz do kompilacji. Teraz dzia?a pod 7.60 p?ki co nie znalaz?em ?adnych innych niedogodno?ci :D Pozdrawiam :)

---------- Tre?? dodana o 21:11 ----------

Mam taki problem - ?e nigdzie nie da ustawi? si? czasu "owner loot" cia?o jest nie do otwarcia no chyba ?e zacznie gni?. Gracz kt?ry bi? potwora, mo?e otworzy? ale po relogu ju? nie mo?e.
 
Top