• Vote in May Mapping Competition to select a winner!
  • 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!

TFS Architecture

Fox Rother

Highly Skilled in Noobing
Joined
Aug 10, 2010
Messages
64
Best answers
0
Reaction score
31
Hey, everybody!

I'm trying to understand TFS' architecture, but as I'm still a n00b in C++ (currently reading the Deitels), I thought someone more experienced would like to share their knowledge on its innerworkings. I'm very interested in contributing.

It doesn't need to be very detailed, also. I'm looking to understand the basics enough to get on my feet.

Thanks! 😁
 

Infernum

Asshole
Support Team
Joined
Feb 14, 2015
Messages
5,454
Best answers
540
Reaction score
3,309
It's a spiderweb. But I don't think anybody will be able to really provide an explanation for such a broad question, you kinda just learn it by looking at it.
If you really want to figure out how some stuff works, pick something and use Visual Studio to track down its call hierarchy so you can see where it gets called or used, you can also click View Definition / View Declaration to see where specific functions or variables are defined.
 

Togu

Advanced OT User
Joined
Jun 22, 2018
Messages
301
Best answers
1
Reaction score
153
Location
Brazil
Use search tools (like searching a string in all files in the src folder) to find anything you want and then use an IDE to ctrl + click classes and methods and navigate through the project.

For example, if you want to change what happens when you level up, search on all project files for "You advanced from"
If you want to change the look string, search for "He is a"
 

Znote

<?php echo $title; ?>
Staff member
Global Moderator
Premium User
Joined
Feb 14, 2008
Messages
6,748
Best answers
221
Reaction score
1,462
Location
Norway, Oslo
Asked Mark where to start looking and understanding the source code back in 2014, he said:

understand the purpose of the different threads, especially dispatcher,
and then understand how the server goes from receiving a packet to processing it and performing something
(connection (asio thread) -> protocol -> (task dispatched to run in dispatcher thread) -> game)

otserv.cpp is a good start, then look at tasks/scheduler/connection/server
 
OP
Fox Rother

Fox Rother

Highly Skilled in Noobing
Joined
Aug 10, 2010
Messages
64
Best answers
0
Reaction score
31
@Delusion @Togu thank you for your input! I'll keep these strategies in mind :D

@Znote Great: starting points! I'll check them out asap. :)
 
Top