• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Kompilacja [TFS 1.2] Widnows x64bit + Video!

Webo

Otland 4ever
Joined
Oct 20, 2013
Messages
621
Solutions
10
Reaction score
229
Location
Warsaw
Kompilacja [TFS 1.2] Widnows x64bit + Video.
Ok skompilujmy razem własny silnik pod windowsa.
______________________________________________

Na początek pobieramy i instalujemy wymagane oprogramowania:
- Visual Studio 2015 Update 3 (nasz kompiler może być community nie wiem czy na innych działa więc polecam pobrać właśnie community)
- TFS SDK v3.2
- Boost C++ libraries (pobierz 32-bit, pobierz 64-bit)

Po pobraniu instalujemy programy najlepiej jak byś cie nic nie zmieniali pod czas instalacji to ułatwi nam prace (mam tu na myśli położenie programów).

Kolejnym krokiem będzie pobranie i rozpakowanie naszego source:
Source: GitHub - otland/forgottenserver: A free and open-source MMORPG server emulator written in C++ Po rozpakowaniu wrzućmy folder tfs-sdk-3.2 do naszego folderu (Poradnik)
sznsJ1P.png


Teraz skonfigurujemy nasz system czyli zarejestrujemy pliki potrzebne do kompilacji.
Wchodzimy do folderu tfs-sdk-3.2 zobaczymy tam 2 pliki: register_tfssdk_env oraz register_boost_envregister_tfssdk_env (uruchamiamy jako administrator) program sam się otworzy i zamknie rejestrując położenie folderu

VT9Zhcl.png


Nasz 2 plik czyli: register_boost_env przenosimy do folderu C:\local\boost_1_60_0\boost

HAZlTUC.png


Również uruchamiamy go jako administrator:

Jsd2uqM.png
Teraz przechodzimy do folderu z source \forgottenserver-master\vc14\ zobaczymy tam plik theforgottenserver uruchamiamy go:

MQp4mLD.png


Po załadowaniu się ukaże nam się okno projektu klikamy prawym przyciskiem na theforgottenserver i z listy wybieramy Properties
gvvYPl2.png


Po wejściu w Properties pokaże nam się okno: theforgottenserver Porperty Pages:1. Wybieramy: Relase
2. Wybieramy: x64
3. Przechodzimy do: Configuration Manager

z7OJQNm.png


Po przejściu do: Configuration Manager ustawimy wszystko tak jak ja:

3.1 - Wybieramy z zakładki Active solution configuration: Release
3.2 - Z zakładki Configuration: Release
3.3 - Z zakładki Platform: x64
3.4 - Z Active solution platform: x64
5ZeArmG.png


Klikamy Close czyli zamykamyConfiguration Manager
Kolejnym krokiem będzie ustawienie naszych Additional Include Directories:- 1. Przechodzimy do C/C++
-
2.Wysuwamy 2
-
3.Klikamy <Edit...>
xm0ttA5.png


Ustawiamy Additional Include Directories:

okpqosd.png


Klikamy OK. Teraz ustawimy Additional library Directories:przechodzimy do:
- 1. Linker General
- 2. Wysuwamy Additional library Directories
- 3. Klikamy <Edit...>

LKSSWAo.png

Ustawiamy je:

tuBXxWM.png


Upewnij się czy ustawiłeś je dobrze to ważne!
Jeżeli wszystko jest dobrze klikamy OKMożemy już zamknąć theforgottenserver Porperty Pages Klikając Apply i OK

3ddANMB.png


Nasze biblioteki muszą się załadować to potrwa krótką chwilę:
EdWjnOL.png


Gdy ujrzymy napis Ready znaczy że nasz program jest gotowy do kompilacji

mbJWC7w.png


Teram znów klikamy prawym przyciskiem na forgottenserver i wybieramy Rebuild

c50FkRm.png


Nasz kod zacznie się kompilować
z naszego kodu zacznie powstawać theforgottenserver.exe
WlXR3dC.png


Gratuluję jeżeli wszystko zrobiłeś zgodnie z poradnikiem twój serwer został skompilowany !
Możemy go znaleźć w: forgottenserver-master\vc14\x64\Release

xvCGhFM.png

Dorzucam filmik nakręcony OBS nie wiem dlaczego ale po przechwyceniu nie widać jak klikam prawym na forgottenserver jednak nie powinno wam to przeszkadzać
Miło mi że mogę podzielić się z wami wiedzą którą zdobyłem przez kilka lat doświadczenia z Open Tibią. Pozdrawiam !
 
Last edited:
Robię wszystko według poradnika, sprawdzałem kilka razy czy wszystko dobrze ustawiłem. Powtarzałem kompilację kilka razy - bez skutków. Jest możliwość żeby pozbyć się tych błędów?

Code:
1>------ Rebuild All started: Project: theforgottenserver, Configuration: Release x64 ------
1>  otpch.cpp
1>  protocolgamebase.cpp
1>  protocolspectator.cpp
1>  actions.cpp
1>  ban.cpp
1>  baseevents.cpp
1>..\src\protocolspectator.cpp(376): warning C4100: 'broadcast': unreferenced formal parameter
1>  bed.cpp
1>  chat.cpp
1>  combat.cpp
1>  commands.cpp
1>  condition.cpp
1>  configmanager.cpp
1>  connection.cpp
1>  container.cpp
1>  creature.cpp
1>  creatureevent.cpp
1>  cylinder.cpp
1>  database.cpp
1>  databasemanager.cpp
1>  databasetasks.cpp
1>  depotchest.cpp
1>..\src\depotchest.cpp(33): warning C4100: 'actor': unreferenced formal parameter
1>..\src\depotchest.cpp(32): warning C4100: 'index': unreferenced formal parameter
1>  depotlocker.cpp
1>  events.cpp
1>  fileloader.cpp
1>  game.cpp
1>  globalevent.cpp
1>  groups.cpp
1>  guild.cpp
1>  house.cpp
1>  housetile.cpp
1>..\src\game.cpp(4391): warning C4456: declaration of 'targetPos' hides previous local declaration
1>  ..\src\game.cpp(4310): note: see declaration of 'targetPos'
1>  inbox.cpp
1>  ioguild.cpp
1>  iologindata.cpp
1>  iomap.cpp
1>  iomapserialize.cpp
1>  iomarket.cpp
1>  item.cpp
1>  items.cpp
1>  luascript.cpp
1>  mailbox.cpp
1>  map.cpp
1>  monster.cpp
1>  monsters.cpp
1>  mounts.cpp
1>  movement.cpp
1>  networkmessage.cpp
1>  npc.cpp
1>..\src\movement.cpp(837): warning C4100: 'fromPos': unreferenced formal parameter
1>  otserv.cpp
1>  outfit.cpp
1>  outputmessage.cpp
1>  party.cpp
1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\atomic(659): error C2338: You've instantiated std::atomic<T> with sizeof(T) equal to 2/4/8 and alignof(T) < sizeof(T). Before VS 2015 Update 2, this would have misbehaved at runtime. VS 2015 Update 2 was fixed to handle this correctly, but the fix inherently changes layout and breaks binary compatibility. Please define _ENABLE_ATOMIC_ALIGNMENT_FIX to acknowledge that you understand this, and that everything you're linking has been compiled with VS 2015 Update 2 (or later). (compiling source file ..\src\outputmessage.cpp)
1>  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\atomic(669): note: see reference to class template instantiation 'std::_Atomic_base<_Ty,4>' being compiled
1>          with
1>          [
1>              _Ty=boost::lockfree::detail::tagged_index
1>          ] (compiling source file ..\src\outputmessage.cpp)
1>  C:\local\boost_1_60_0\boost/lockfree/detail/freelist.hpp(603): note: see reference to class template instantiation 'std::atomic<boost::lockfree::detail::tagged_index>' being compiled (compiling source file ..\src\outputmessage.cpp)
1>  C:\local\boost_1_60_0\boost/lockfree/detail/freelist.hpp(604): note: see reference to class template instantiation 'boost::lockfree::detail::fixed_size_freelist<T,NodeStorage>' being compiled (compiling source file ..\src\outputmessage.cpp)
1>  player.cpp
1>  position.cpp
1>  protocol.cpp
1>  protocolgame.cpp
1>  protocollogin.cpp
1>  protocolold.cpp
1>..\src\protocolgame.cpp(1435): warning C4100: 'depotId': unreferenced formal parameter
1>  quests.cpp
1>..\src\protocollogin.cpp(47): warning C4100: 'version': unreferenced formal parameter
1>  raids.cpp
1>  reward.cpp
1>  rewardchest.cpp
1>  rsa.cpp
1>  scheduler.cpp
1>  scriptmanager.cpp
1>  server.cpp
1>  spawn.cpp
1>  spells.cpp
1>  protocolstatus.cpp
1>  talkaction.cpp
1>  tasks.cpp
1>  teleport.cpp
1>  thing.cpp
1>  tile.cpp
1>  tools.cpp
1>  trashholder.cpp
1>  vocation.cpp
1>  waitlist.cpp
1>  weapons.cpp
1>  wildcardtree.cpp
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
 
cool. sad its polish i cant understand a thing :(
 
Soczysty poradniczek, jak raz mi sie przydal ;) Idealnie krok po kroku, na prawde porządna robota. Ten temat ląduje w favorites :)
 
LINK : fatal error LNK1181: não foi possível abrir o arquivo de entrada 'lua51.lib'
:confused:
 
Last edited:
Dobry poradnik, choć w większości przypadków łatwiej ściągnąć z AppVeyor.
w większości przypadków tak :) ale jak ktoś chcę użyć silnika do stworzenia własnej gry na tym silniku przyda się takiej osobie poradnik kompilacji serwera z możliwością edycji source.

Nowe linki dla Boost C++ libraries reszta pozostaje bez zmian

@5964438 albo robisz coś źle albo używasz innego src
@Nouel masz źle ustawione biblioteki.

Na dniach dodam filmik. Może to pomoże polskim użytkownikom.
 
Last edited:
w większości przypadków tak :) ale jak ktoś chcę użyć silnika do stworzenia własnej gry na tym silniku przyda się takiej osobie poradnik kompilacji serwera z możliwością edycji source.

Nowe linki dla Boost C++ libraries reszta pozostaje bez zmian

@5964438 albo robisz coś źle albo używasz innego src
@Nouel masz źle ustawione biblioteki.

Na dniach dodam filmik. Może to pomoże polskim użytkownikom.
Nie wiem po co uruchamiasz *.bat jako administrator - to nie jest konieczne.
Tak samo konfiguracje od screenshota #5 dalej są niepotrzebne. Wystarczy uruchomić 2 baty, następnie uruchomić MSVS i można kompilować. To wszystko. Sprawdzałem sam.
 
Robiłem tak bo na windows 7 .bat nie chciał chodzić bez uruchomienia jako administrator. Skoro tak to dzięki warto poprawić te punkty i pominąć te kroki ustawić biblioteki i kompilować
 
a jak naprawic to, że consola mi sie odrazu zamyka po uruchomieniu i nawet nie wiem jaki blad wyskakuje?
 
Podejrzewam że to bląd połączenia serwera z bazą MySQL. Uruchom serwer przez CMD wtedy konsola sie nie zamknie i pokaż błąd
 
Severity Code Description Project File Line
Error C1083 Cannot open include file: 'boost/asio.hpp': No such file or directory theforgottenserver c:\users\xaxa\desktop\ots\forgottenserver-master\src\otpch.h 42


Pomoże ktoś ?
 
Error C1083 Cannot open include file: 'boost/asio.hpp': No such file or directory theforgottenserver c:\users\xaxa\desktop\ots\forgottenserver-master\src\otpch.h 42
 
Back
Top