\relax \providecommand{\transparent@use}[1]{} \providecommand \babel@aux [2]{\global \let \babel@toc \@gobbletwo } \@nameuse{bbl@beforestart} \catcode `"\active \catcode `-\active \providecommand\hyper@newdestlabel[2]{} \providecommand\HyField@AuxAddToFields[1]{} \providecommand\HyField@AuxAddToCoFields[2]{} \providecommand\BKM@entry[2]{} \abx@aux@refcontext{none/global//global/global/global} \BKM@entry{id=1,open,dest={6B693A7061706572},srcline={150}}{5C3337365C3337375C3030304D5C303030655C303030745C3030306F5C303030645C303030795C3030305C3034305C3030306F5C303030705C303030745C303030695C3030306D5C303030615C3030306C5C303030695C3030307A5C303030615C303030635C303030655C3030305C3034305C303030705C3030315C3133315C303030655C3030306E5C3030306F5C303030735C303030755C3030305C3034305C303030645C303030615C303030745C3030305C3034305C303030765C3030305C3034305C303030645C303030695C303030735C303030745C303030725C303030695C303030625C303030755C3030306F5C303030765C303030615C3030306E5C3030305C3335315C3030306D5C3030305C3034305C303030735C303030795C303030735C303030745C3030305C3335315C3030306D5C30303075} \BKM@entry{id=2,open,dest={6B693A7469746C65},srcline={150}}{5C3337365C3337375C303030545C303030695C303030745C303030755C3030306C5C3030306E5C3030305C3335355C3030305C3034305C303030735C303030745C303030725C303030615C3030306E5C30303061} \providecommand\@newglossary[4]{} \@newglossary{main}{glg}{gls}{glo} \@newglossary{acronym}{alg}{acr}{acn} \@newglossary{index}{ilg}{ind}{idx} \providecommand\@glsorder[1]{} \providecommand\@istfilename[1]{} \@istfilename{kidiplom.ist} \@glsorder{word} \babel@aux{czech}{} \BKM@entry{id=3,open,dest={6B693A616E6F746174696F6E},srcline={150}}{5C3337365C3337375C303030415C3030306E5C3030306F5C303030745C303030615C303030635C30303065} \BKM@entry{id=4,open,dest={6B693A746F63},srcline={150}}{5C3337365C3337375C3030304F5C303030625C303030735C303030615C30303068} \BKM@entry{id=5,open,dest={73656374696F6E2E31},srcline={161}}{5C3337365C3337375C303030315C3030305C3034305C3030305C3333325C303030765C3030306F5C30303064} \@writefile{toc}{\contentsline {section}{\numberline {1}Úvod}{8}{section.1}\protected@file@percent } \BKM@entry{id=6,open,dest={73656374696F6E2E32},srcline={203}}{5C3337365C3337375C303030325C3030305C3034305C303030535C3030305C3335355C3030315C3134355C3030306F5C303030765C3030305C3335315C3030305C3034305C303030735C303030795C303030735C303030745C3030305C3335315C3030306D5C30303079} \BKM@entry{id=7,open,dest={73656374696F6E2E33},srcline={207}}{5C3337365C3337375C303030335C3030305C3034305C303030445C303030695C303030735C303030745C303030725C303030695C303030625C303030755C3030306F5C303030765C303030615C3030306E5C3030305C3335315C3030305C3034305C303030735C303030795C303030735C303030745C3030305C3335315C3030306D5C30303079} \BKM@entry{id=8,open,dest={73756273656374696F6E2E332E31},srcline={222}}{5C3337365C3337375C303030335C3030302E5C303030315C3030305C3034305C303030415C303030725C303030635C303030685C303030695C303030745C303030655C3030306B5C303030745C303030755C303030725C30303079} \BKM@entry{id=9,open,dest={73756273756273656374696F6E2E332E312E31},srcline={228}}{5C3337365C3337375C303030335C3030302E5C303030315C3030302E5C303030315C3030305C3034305C303030535C3030306F5C303030665C303030745C303030775C303030615C303030725C3030306F5C303030765C3030305C3334315C3030305C3034305C303030615C303030725C303030635C303030685C303030695C303030745C303030655C3030306B5C303030745C303030755C303030725C30303061} \@writefile{toc}{\contentsline {section}{\numberline {2}Síťové systémy}{9}{section.2}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {3}Distribuované systémy}{9}{section.3}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Architektury}{9}{subsection.3.1}\protected@file@percent } \BKM@entry{id=10,open,dest={73756273756273656374696F6E2E332E312E32},srcline={242}}{5C3337365C3337375C303030335C3030302E5C303030315C3030302E5C303030325C3030305C3034305C303030535C303030795C303030735C303030745C3030305C3335315C3030306D5C3030306F5C303030765C3030305C3335315C3030305C3034305C303030615C303030725C303030635C303030685C303030695C303030745C303030655C3030306B5C303030745C303030755C303030725C30303079} \@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.1}Softwarová architektura}{10}{subsubsection.3.1.1}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.2}Systémové architektury}{10}{subsubsection.3.1.2}\protected@file@percent } \newlabel{sec:system_architecture}{{3.1.2}{10}{Systémové architektury}{subsubsection.3.1.2}{}} \BKM@entry{id=11,open,dest={73756273656374696F6E2E332E32},srcline={257}}{5C3337365C3337375C303030335C3030302E5C303030325C3030305C3034305C3030304B5C3030306F5C3030306D5C303030755C3030306E5C303030695C3030306B5C303030615C303030635C30303065} \BKM@entry{id=12,open,dest={73756273756273656374696F6E2E332E322E31},srcline={270}}{5C3337365C3337375C303030335C3030302E5C303030325C3030302E5C303030315C3030305C3034305C3030304D5C3030306F5C303030645C303030655C3030306C5C303030795C3030305C3034305C303030705C303030725C3030306F5C3030305C3034305C3030306B5C3030306F5C3030306D5C303030755C3030306E5C303030695C3030306B5C303030615C303030635C30303069} \@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Komunikace}{11}{subsection.3.2}\protected@file@percent } \BKM@entry{id=13,open,dest={73756273656374696F6E2E332E33},srcline={292}}{5C3337365C3337375C303030335C3030302E5C303030335C3030305C3034305C303030505C3030306F5C3030315C3031355C3030305C3335355C303030745C303030615C3030315C3031355C3030306F5C303030765C3030305C3334315C3030305C3034305C303030535C3030305C3335355C3030315C313435} \@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.1}Modely pro komunikaci}{12}{subsubsection.3.2.1}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Počítačová Síť}{12}{subsection.3.3}\protected@file@percent } \newlabel{sec:NetworkCommunication}{{3.3}{12}{Počítačová Síť}{subsection.3.3}{}} \BKM@entry{id=14,open,dest={73756273656374696F6E2E332E34},srcline={300}}{5C3337365C3337375C303030335C3030302E5C303030345C3030305C3034305C3030304B5C3030306F5C3030306D5C303030755C3030306E5C303030695C3030306B5C303030615C303030635C303030655C3030305C3034305C303030765C3030305C3034305C303030735C3030305C3335355C303030745C30303069} \BKM@entry{id=15,open,dest={73756273756273656374696F6E2E332E342E31},srcline={306}}{5C3337365C3337375C303030335C3030302E5C303030345C3030302E5C303030315C3030305C3034305C303030525C3030306F5C303030645C303030695C3030306E5C303030615C3030305C3034305C303030705C303030725C3030306F5C303030745C3030306F5C3030306B5C3030306F5C3030306C5C3030315C3135375C3030305C3034305C303030545C303030435C303030505C3030302F5C303030495C30303050} \@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Komunikace v síti}{13}{subsection.3.4}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.1}Rodina protokolů TCP/IP}{13}{subsubsection.3.4.1}\protected@file@percent } \@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Vrstvená architektura TODO předělat}}{14}{figure.1}\protected@file@percent } \newlabel{fig:layer_architecture}{{1}{14}{Vrstvená architektura TODO předělat}{figure.1}{}} \BKM@entry{id=16,open,dest={73756273656374696F6E2E332E35},srcline={353}}{5C3337365C3337375C303030335C3030302E5C303030355C3030305C3034305C303030505C303030725C3030306F5C303030745C3030306F5C3030306B5C3030306F5C3030306C5C303030795C3030305C3034305C303030765C3030305C3034305C303030615C303030705C3030306C5C303030695C3030306B5C303030615C3030315C3031355C3030306E5C3030305C3335355C3030305C3034305C303030765C303030725C303030735C303030745C303030765C3030315C303333} \BKM@entry{id=17,open,dest={73756273756273656374696F6E2E332E352E31},srcline={357}}{5C3337365C3337375C303030335C3030302E5C303030355C3030302E5C303030315C3030305C3034305C303030485C303030545C303030545C30303050} \@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Komunikace vrstev TCP/IP}}{15}{figure.2}\protected@file@percent } \newlabel{fig:tcpip}{{2}{15}{Komunikace vrstev TCP/IP}{figure.2}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Protokoly v aplikační vrstvě}{15}{subsection.3.5}\protected@file@percent } \BKM@entry{id=18,open,dest={73756273756273656374696F6E2E332E352E32},srcline={378}}{5C3337365C3337375C303030335C3030302E5C303030355C3030302E5C303030325C3030305C3034305C303030485C303030545C303030545C303030505C3030302F5C30303033} \BKM@entry{id=19,open,dest={73756273656374696F6E2E332E36},srcline={404}}{5C3337365C3337375C303030335C3030302E5C303030365C3030305C3034305C303030505C303030725C3030306F5C303030745C3030306F5C3030306B5C3030306F5C3030306C5C303030795C3030305C3034305C303030765C3030305C3034305C303030745C303030725C303030615C3030306E5C303030735C303030705C3030306F5C303030725C303030745C3030306E5C3030305C3335355C3030305C3034305C303030765C303030725C303030735C303030745C303030765C3030315C303333} \@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.1}HTTP}{16}{subsubsection.3.5.1}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.2}HTTP/3}{16}{subsubsection.3.5.2}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {3.6}Protokoly v transportní vrstvě}{16}{subsection.3.6}\protected@file@percent } \BKM@entry{id=20,open,dest={73756273756273656374696F6E2E332E362E31},srcline={410}}{5C3337365C3337375C303030335C3030302E5C303030365C3030302E5C303030315C3030305C3034305C303030545C303030435C30303050} \@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Vizualizace HTTP/2 blokování}}{17}{figure.3}\protected@file@percent } \newlabel{fig:http_blocking}{{3}{17}{Vizualizace HTTP/2 blokování}{figure.3}{}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.1}TCP}{17}{subsubsection.3.6.1}\protected@file@percent } \BKM@entry{id=21,open,dest={73756273756273656374696F6E2E332E362E32},srcline={422}}{5C3337365C3337375C303030335C3030302E5C303030365C3030302E5C303030325C3030305C3034305C303030555C303030445C30303050} \BKM@entry{id=22,open,dest={73756273756273656374696F6E2E332E362E33},srcline={430}}{5C3337365C3337375C303030335C3030302E5C303030365C3030302E5C303030335C3030305C3034305C303030515C303030555C303030495C30303043} \@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.2}UDP}{18}{subsubsection.3.6.2}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.3}QUIC}{18}{subsubsection.3.6.3}\protected@file@percent } \BKM@entry{id=23,open,dest={73756273656374696F6E2E332E37},srcline={476}}{5C3337365C3337375C303030335C3030302E5C303030375C3030305C3034305C303030535C3030306F5C3030306B5C303030655C303030745C30303079} \@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces QUIC handshake}}{20}{figure.4}\protected@file@percent } \newlabel{fig:quic_handshake}{{4}{20}{QUIC handshake}{figure.4}{}} \BKM@entry{id=24,open,dest={73756273656374696F6E2E332E38},srcline={482}}{5C3337365C3337375C303030335C3030302E5C303030385C3030305C3034305C303030415C303030735C303030795C3030306E5C303030635C303030685C303030725C3030306F5C3030306E5C3030305C3335355C3030305C3034305C303030765C303030735C303030745C303030755C303030705C3030306E5C3030315C3033335C3030305C3034305C303030765C3030305C3337355C303030735C303030745C303030755C303030705C3030306E5C3030305C3335355C3030305C3034305C3030306F5C303030705C303030655C303030725C303030615C303030635C30303065} \BKM@entry{id=25,open,dest={73756273756273656374696F6E2E332E382E31},srcline={488}}{5C3337365C3337375C303030335C3030302E5C303030385C3030302E5C303030315C3030305C3034305C3030305A5C303030655C303030725C3030306F5C3030304D5C30303051} \BKM@entry{id=26,open,dest={73756273756273656374696F6E2E332E382E32},srcline={494}}{5C3337365C3337375C303030335C3030302E5C303030385C3030302E5C303030325C3030305C3034305C303030575C3030306F5C303030725C3030306B5C3030305C3034305C303030735C303030745C303030655C303030615C3030306C5C303030695C3030306E5C30303067} \BKM@entry{id=27,open,dest={73756273756273656374696F6E2E332E382E33},srcline={498}}{5C3337365C3337375C303030335C3030302E5C303030385C3030302E5C303030335C3030305C3034305C303030415C303030735C303030795C3030306E5C303030635C3030302F5C303030415C303030775C303030615C303030695C30303074} \@writefile{toc}{\contentsline {subsection}{\numberline {3.7}Sokety}{21}{subsection.3.7}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {3.8}Asynchroní vstupně výstupní operace}{21}{subsection.3.8}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.1}ZeroMQ}{21}{subsubsection.3.8.1}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.2}Work stealing}{21}{subsubsection.3.8.2}\protected@file@percent } \BKM@entry{id=28,open,dest={73756273756273656374696F6E2E332E382E34},srcline={507}}{5C3337365C3337375C303030335C3030302E5C303030385C3030302E5C303030345C3030305C3034305C303030425C3030306F5C3030306F5C303030735C303030745C3030305C3034305C303030415C303030735C303030695C3030306F} \@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.3}Async/Await}{22}{subsubsection.3.8.3}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.4}Boost Asio}{22}{subsubsection.3.8.4}\protected@file@percent } \BKM@entry{id=29,open,dest={73656374696F6E2E34},srcline={575}}{5C3337365C3337375C303030345C3030305C3034305C303030485C303030725C30303061} \BKM@entry{id=30,open,dest={73756273656374696F6E2E342E31},srcline={590}}{5C3337365C3337375C303030345C3030302E5C303030315C3030305C3034305C303030455C3030306E5C303030675C303030695C3030306E5C30303065} \@writefile{toc}{\contentsline {section}{\numberline {4}Hra}{23}{section.4}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Engine}{23}{subsection.4.1}\protected@file@percent } \BKM@entry{id=31,open,dest={73756273756273656374696F6E2E342E312E31},srcline={615}}{5C3337365C3337375C303030345C3030302E5C303030315C3030302E5C303030315C3030305C3034305C303030465C303030795C3030307A5C303030695C303030635C3030306B5C3030305C3337355C3030305C3034305C303030655C3030306E5C303030675C303030695C3030306E5C30303065} \BKM@entry{id=32,open,dest={73756273756273656374696F6E2E342E312E32},srcline={623}}{5C3337365C3337375C303030345C3030302E5C303030315C3030302E5C303030325C3030305C3034305C303030565C303030795C3030306B5C303030725C303030655C303030735C3030306C5C3030306F5C303030765C3030305C3334315C3030306E5C3030305C333535} \BKM@entry{id=33,open,dest={73756273756273656374696F6E2E342E312E33},srcline={631}}{5C3337365C3337375C303030345C3030302E5C303030315C3030302E5C303030335C3030305C3034305C303030455C3030306E5C303030745C303030695C303030745C303030795C3030302D5C303030435C3030306F5C3030306D5C303030705C3030306F5C3030306E5C303030655C3030306E5C303030745C3030302D5C303030535C303030795C303030735C303030745C303030655C3030306D} \@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.1}Fyzický engine}{24}{subsubsection.4.1.1}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.2}Vykreslování}{24}{subsubsection.4.1.2}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.3}Entity-Component-System}{24}{subsubsection.4.1.3}\protected@file@percent } \@writefile{lol}{\contentsline {lstlisting}{\numberline {1}Příklad použití knihovny Entt}{25}{lstlisting.1}\protected@file@percent } \BKM@entry{id=34,open,dest={73656374696F6E2E35},srcline={686}}{5C3337365C3337375C303030355C3030305C3034305C303030485C303030725C303030615C3030305C3034305C303030765C3030305C3335355C303030635C303030655C3030305C3034305C303030685C303030725C3030305C3334315C3030315C3031355C3030315C313537} \BKM@entry{id=35,open,dest={73756273656374696F6E2E352E31},srcline={708}}{5C3337365C3337375C303030355C3030302E5C303030315C3030305C3034305C303030535C303030655C303030725C303030765C303030655C30303072} \@writefile{toc}{\contentsline {section}{\numberline {5}Hra více hráčů}{27}{section.5}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {5.1}Server}{27}{subsection.5.1}\protected@file@percent } \BKM@entry{id=36,open,dest={73756273756273656374696F6E2E352E312E31},srcline={718}}{5C3337365C3337375C303030355C3030302E5C303030315C3030302E5C303030315C3030305C3034305C303030525C303030655C303030675C303030695C303030735C303030745C303030725C3030305C3034305C3030306B5C3030306C5C303030695C303030655C3030306E5C303030745C3030315C313537} \BKM@entry{id=37,open,dest={73756273756273656374696F6E2E352E312E32},srcline={724}}{5C3337365C3337375C303030355C3030302E5C303030315C3030302E5C303030325C3030305C3034305C303030535C303030655C303030725C303030765C303030655C303030725C3030305C3034305C303030525C303030655C303030705C3030306C5C303030695C3030306B5C3030305C3334315C303030745C3030306F5C303030725C30303075} \@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces Softwarová architektura hry}}{28}{figure.5}\protected@file@percent } \newlabel{fig:client_server_architecture}{{5}{28}{Softwarová architektura hry}{figure.5}{}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.1}Registr klientů}{28}{subsubsection.5.1.1}\protected@file@percent } \BKM@entry{id=38,open,dest={73756273756273656374696F6E2E352E312E33},srcline={728}}{5C3337365C3337375C303030355C3030302E5C303030315C3030302E5C303030335C3030305C3034305C303030535C303030705C303030725C3030305C3334315C303030765C303030615C3030305C3034305C3030307A5C3030305C3334315C3030306A5C3030306D5C3030315C313537} \BKM@entry{id=39,open,dest={73756273656374696F6E2E352E32},srcline={738}}{5C3337365C3337375C303030355C3030302E5C303030325C3030305C3034305C3030304B5C3030306C5C303030695C303030655C3030306E5C30303074} \BKM@entry{id=40,open,dest={73756273756273656374696F6E2E352E322E31},srcline={742}}{5C3337365C3337375C303030355C3030302E5C303030325C3030302E5C303030315C3030305C3034305C3030304B5C3030306C5C303030695C303030655C3030306E5C303030745C3030305C3034305C303030525C303030655C303030705C3030306C5C303030695C3030306B5C3030305C3334315C303030745C3030306F5C303030725C30303075} \BKM@entry{id=41,open,dest={73756273756273656374696F6E2E352E322E32},srcline={746}}{5C3337365C3337375C303030355C3030302E5C303030325C3030302E5C303030325C3030305C3034305C303030495C3030306E5C303030745C303030655C303030725C303030705C3030306F5C3030306C5C303030615C303030635C30303065} \@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.2}Server Replikátoru}{29}{subsubsection.5.1.2}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.3}Správa zájmů}{29}{subsubsection.5.1.3}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Klient}{29}{subsection.5.2}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.1}Klient Replikátoru}{29}{subsubsection.5.2.1}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.2}Interpolace}{29}{subsubsection.5.2.2}\protected@file@percent } \BKM@entry{id=42,open,dest={73756273756273656374696F6E2E352E322E33},srcline={750}}{5C3337365C3337375C303030355C3030302E5C303030325C3030302E5C303030335C3030305C3034305C303030525C3030306F5C3030306C5C3030306C5C303030625C303030615C303030635C3030306B} \BKM@entry{id=43,open,dest={73756273656374696F6E2E352E33},srcline={760}}{5C3337365C3337375C303030355C3030302E5C303030335C3030305C3034305C303030505C3030306F5C303030735C3030305C3335355C3030306C5C3030305C3334315C3030306E5C3030305C3335355C3030305C3034305C3030307A5C303030705C303030725C3030305C3334315C30303076} \BKM@entry{id=44,open,dest={73756273756273656374696F6E2E352E332E31},srcline={773}}{5C3337365C3337375C303030355C3030302E5C303030335C3030302E5C303030315C3030305C3034305C3030304B5C3030305C3336335C303030645C3030306F5C303030765C3030305C3334315C3030306E5C3030305C3335355C3030305C3034305C3030307A5C303030705C303030725C3030305C3334315C30303076} \BKM@entry{id=45,open,dest={73756273756273656374696F6E2E352E332E32},srcline={781}}{5C3337365C3337375C303030355C3030302E5C303030335C3030302E5C303030325C3030305C3034305C303030495C3030306D5C303030705C3030306C5C303030655C3030306D5C303030655C3030306E5C303030745C303030615C303030635C30303065} \@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.3}Rollback}{30}{subsubsection.5.2.3}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Posílání zpráv}{30}{subsection.5.3}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.1}Kódování zpráv}{30}{subsubsection.5.3.1}\protected@file@percent } \BKM@entry{id=46,open,dest={73756273756273656374696F6E2E352E332E33},srcline={785}}{5C3337365C3337375C303030355C3030302E5C303030335C3030302E5C303030335C3030305C3034305C303030445C303030655C303030745C303030655C3030306B5C303030635C303030655C3030305C3034305C303030615C3030305C3034305C3030306E5C3030305C3334315C303030705C303030725C303030615C303030765C303030615C3030305C3034305C303030635C303030685C303030795C30303062} \BKM@entry{id=47,open,dest={73756273656374696F6E2E352E34},srcline={792}}{5C3337365C3337375C303030355C3030302E5C303030345C3030305C3034305C303030535C303030655C303030725C303030695C303030615C3030306C5C303030695C3030307A5C303030615C303030635C30303065} \@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.2}Implementace}{31}{subsubsection.5.3.2}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.3}Detekce a náprava chyb}{31}{subsubsection.5.3.3}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {5.4}Serializace}{31}{subsection.5.4}\protected@file@percent } \BKM@entry{id=48,open,dest={73756273656374696F6E2E352E35},srcline={824}}{5C3337365C3337375C303030355C3030302E5C303030355C3030305C3034305C303030505C303030725C3030306F5C303030745C3030306F5C3030306B5C3030306F5C3030306C5C3030305C3034305C303030515C303030555C303030495C303030435C30303072} \@writefile{lol}{\contentsline {lstlisting}{\numberline {2}cpp}{32}{lstlisting.2}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {5.5}Protokol QUICr}{32}{subsection.5.5}\protected@file@percent } \BKM@entry{id=49,open,dest={73756273756273656374696F6E2E352E352E31},srcline={837}}{5C3337365C3337375C303030355C3030302E5C303030355C3030302E5C303030315C3030305C3034305C303030525C3030305C3334315C3030306D5C303030635C30303065} \BKM@entry{id=50,open,dest={73756273756273656374696F6E2E352E352E32},srcline={850}}{5C3337365C3337375C303030355C3030302E5C303030355C3030302E5C303030325C3030305C3034305C303030485C303030615C3030306E5C303030645C303030735C303030685C303030615C3030306B5C30303065} \@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.1}Rámce}{33}{subsubsection.5.5.1}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.2}Handshake}{33}{subsubsection.5.5.2}\protected@file@percent } \BKM@entry{id=51,open,dest={73756273756273656374696F6E2E352E352E33},srcline={884}}{5C3337365C3337375C303030355C3030302E5C303030355C3030302E5C303030335C3030305C3034305C303030535C303030705C3030306F5C3030306C5C303030655C303030685C3030306C5C303030695C303030765C3030306F5C303030735C30303074} \@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces Stavový stroj QUICr handshake}}{34}{figure.6}\protected@file@percent } \newlabel{fig:quicr_handshake}{{6}{34}{Stavový stroj QUICr handshake}{figure.6}{}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.3}Spolehlivost}{34}{subsubsection.5.5.3}\protected@file@percent } \newlabel{sec:quicr_reliability}{{5.5.3}{34}{Spolehlivost}{subsubsection.5.5.3}{}} \BKM@entry{id=52,open,dest={73756273756273656374696F6E2E352E352E34},srcline={906}}{5C3337365C3337375C303030355C3030302E5C303030355C3030302E5C303030345C3030305C3034305C303030455C3030306E5C3030306B5C3030306F5C303030645C3030305C3335315C30303072} \BKM@entry{id=53,open,dest={73756273756273656374696F6E2E352E352E35},srcline={914}}{5C3337365C3337375C303030355C3030302E5C303030355C3030302E5C303030355C3030305C3034305C303030545C303030655C303030735C303030745C3030306F5C303030765C3030305C3334315C3030306E5C3030305C333535} \@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.4}Enkodér}{35}{subsubsection.5.5.4}\protected@file@percent } \BKM@entry{id=54,open,dest={73756273756273656374696F6E2E352E352E36},srcline={945}}{5C3337365C3337375C303030355C3030302E5C303030355C3030302E5C303030365C3030305C3034305C303030435C3030306F5C3030306E5C303030675C303030655C303030735C303030745C303030695C3030306F5C3030306E5C3030305C3034305C303030635C3030306F5C3030306E5C303030745C303030725C3030306F5C3030306C} \BKM@entry{id=55,open,dest={73756273756273656374696F6E2E352E352E37},srcline={947}}{5C3337365C3337375C303030355C3030302E5C303030355C3030302E5C303030375C3030305C3034305C303030425C303030615C3030306E5C303030645C303030775C303030695C303030645C303030745C303030685C3030305C3034305C303030635C3030306F5C3030306E5C303030745C303030725C3030306F5C3030306C} \BKM@entry{id=56,open,dest={73756273656374696F6E2E352E36},srcline={951}}{5C3337365C3337375C303030355C3030302E5C303030365C3030305C3034305C303030535C303030685C303030615C303030725C303030645C303030695C3030306E5C30303067} \BKM@entry{id=57,open,dest={73756273656374696F6E2E352E37},srcline={955}}{5C3337365C3337375C303030355C3030302E5C303030375C3030305C3034305C303030485C3030306F5C303030725C303030695C3030307A5C3030306F5C3030306E5C303030745C3030305C3334315C3030306C5C3030306E5C3030305C3335355C3030305C3034305C3030315C3134315C3030306B5C3030305C3334315C3030306C5C3030306F5C303030765C3030305C3334315C3030306E5C3030305C333535} \@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.5}Testování}{36}{subsubsection.5.5.5}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.6}Congestion control}{36}{subsubsection.5.5.6}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.7}Bandwidth control}{36}{subsubsection.5.5.7}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {5.6}Sharding}{36}{subsection.5.6}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {5.7}Horizontální škálování}{36}{subsection.5.7}\protected@file@percent } \BKM@entry{id=58,open,dest={73656374696F6E2E36},srcline={975}}{5C3337365C3337375C303030365C3030305C3034305C303030565C3030305C3337355C303030735C3030306C5C303030655C303030645C3030306E5C3030305C3334315C3030305C3034305C303030685C303030725C30303061} \BKM@entry{id=59,open,dest={73656374696F6E2E37},srcline={981}}{5C3337365C3337375C303030375C3030305C3034305C3030304D5C3030315C3033335C3030315C3133315C3030315C3033335C3030306E5C3030305C333535} \BKM@entry{id=60,open,dest={73756273656374696F6E2E372E31},srcline={984}}{5C3337365C3337375C303030375C3030302E5C303030315C3030305C3034305C3030304D5C303030655C303030745C303030725C303030695C3030306B5C30303079} \newlabel{fig:zone_cluster_architecture}{{5.7}{37}{Horizontální škálování}{subsection.5.7}{}} \@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces Architektura systému s zone clusterem}}{37}{figure.7}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {6}Výsledná hra}{37}{section.6}\protected@file@percent } \BKM@entry{id=61,open,dest={73756273756273656374696F6E2E372E312E31},srcline={988}}{5C3337365C3337375C303030375C3030302E5C303030315C3030302E5C303030315C3030305C3034305C303030505C3030306F5C303030735C303030745C303030675C303030725C303030655C303030535C303030515C3030304C} \BKM@entry{id=62,open,dest={73756273756273656374696F6E2E372E312E32},srcline={992}}{5C3337365C3337375C303030375C3030302E5C303030315C3030302E5C303030325C3030305C3034305C303030545C303030695C3030306D5C303030655C303030735C303030635C303030615C3030306C5C303030655C303030445C30303042} \BKM@entry{id=63,open,dest={73756273756273656374696F6E2E372E312E33},srcline={996}}{5C3337365C3337375C303030375C3030302E5C303030315C3030302E5C303030335C3030305C3034305C303030475C303030725C303030615C303030665C303030615C3030306E5C30303061} \BKM@entry{id=64,open,dest={73756273756273656374696F6E2E372E312E34},srcline={1008}}{5C3337365C3337375C303030375C3030302E5C303030315C3030302E5C303030345C3030305C3034305C3030304F5C303030725C303030635C303030685C303030655C303030735C303030745C303030725C303030615C303030635C30303065} \@writefile{toc}{\contentsline {section}{\numberline {7}Měřění}{38}{section.7}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {7.1}Metriky}{38}{subsection.7.1}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.1}PostgreSQL}{38}{subsubsection.7.1.1}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.2}TimescaleDB}{38}{subsubsection.7.1.2}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.3}Grafana}{38}{subsubsection.7.1.3}\protected@file@percent } \BKM@entry{id=65,open,dest={73756273756273656374696F6E2E372E312E35},srcline={1014}}{5C3337365C3337375C303030375C3030302E5C303030315C3030302E5C303030355C3030305C3034305C303030495C3030306D5C303030475C303030755C30303069} \BKM@entry{id=66,open,dest={73756273756273656374696F6E2E372E312E36},srcline={1020}}{5C3337365C3337375C303030375C3030302E5C303030315C3030302E5C303030365C3030305C3034305C303030545C303030725C303030615C303030635C30303079} \@writefile{lof}{\contentsline {figure}{\numberline {8}{\ignorespaces Příklad Grafana dashboardu}}{39}{figure.8}\protected@file@percent } \newlabel{fig:grafana}{{8}{39}{Příklad Grafana dashboardu}{figure.8}{}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.4}Orchestrace}{39}{subsubsection.7.1.4}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.5}ImGui}{39}{subsubsection.7.1.5}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.6}Tracy}{39}{subsubsection.7.1.6}\protected@file@percent } \BKM@entry{id=67,open,dest={73756273756273656374696F6E2E372E312E37},srcline={1036}}{5C3337365C3337375C303030375C3030302E5C303030315C3030302E5C303030375C3030305C3034305C3030304B5C3030306F5C3030306E5C3030306B5C303030725C3030305C3335315C303030745C3030306E5C3030305C3335355C3030305C3034305C3030306D5C303030655C303030745C303030725C303030695C3030306B5C30303079} \BKM@entry{id=68,open,dest={73756273756273656374696F6E2E372E312E38},srcline={1052}}{5C3337365C3337375C303030375C3030302E5C303030315C3030302E5C303030385C3030305C3034305C303030535C303030625C3030305C3335355C303030725C3030305C3334315C3030306E5C3030305C3335355C3030305C3034305C303030765C3030305C3034305C303030725C303030655C3030305C3334315C3030306C5C3030306E5C3030305C3335315C3030306D5C3030305C3034305C3030315C3031355C303030615C303030735C30303065} \BKM@entry{id=69,open,dest={73756273656374696F6E2E372E32},srcline={1057}}{5C3337365C3337375C303030375C3030302E5C303030325C3030305C3034305C303030515C303030555C303030495C303030435C30303072} \@writefile{lof}{\contentsline {figure}{\numberline {9}{\ignorespaces Jeden snímek v Tracy}}{40}{figure.9}\protected@file@percent } \newlabel{fig:frame_in_tracy}{{9}{40}{Jeden snímek v Tracy}{figure.9}{}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.7}Konkrétní metriky}{40}{subsubsection.7.1.7}\protected@file@percent } \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.8}Sbírání v reálném čase}{40}{subsubsection.7.1.8}\protected@file@percent } \BKM@entry{id=70,open,dest={73756273656374696F6E2E372E33},srcline={1102}}{5C3337365C3337375C303030375C3030302E5C303030335C3030305C3034305C3030304F5C303030705C303030745C303030695C3030306D5C303030615C3030306C5C303030695C3030307A5C303030615C303030635C303030655C3030305C3034305C303030725C303030655C303030705C3030306C5C303030695C3030306B5C3030305C3334315C303030745C3030306F5C303030725C30303075} \@writefile{toc}{\contentsline {subsection}{\numberline {7.2}QUICr}{41}{subsection.7.2}\protected@file@percent } \@writefile{lol}{\contentsline {lstlisting}{\numberline {3}Příklad volání TC}{41}{lstlisting.3}\protected@file@percent } \@writefile{lof}{\contentsline {figure}{\numberline {10}{\ignorespaces Porovnání odezvy TCP a QUICr}}{42}{figure.10}\protected@file@percent } \newlabel{fig:latencycomparison}{{10}{42}{Porovnání odezvy TCP a QUICr}{figure.10}{}} \newlabel{fig:integrationcomparison}{{7.2}{42}{QUICr}{figure.10}{}} \@writefile{lof}{\contentsline {figure}{\numberline {11}{\ignorespaces Porovnání integrace TCP a QUICr}}{42}{figure.11}\protected@file@percent } \newlabel{fig:playerbenchmark}{{7.2}{43}{QUICr}{figure.11}{}} \@writefile{lof}{\contentsline {figure}{\numberline {12}{\ignorespaces 301 připojených hráčů}}{43}{figure.12}\protected@file@percent } \newlabel{fig:tracyreplicator}{{7.3}{43}{Optimalizace replikátoru}{subsection.7.3}{}} \@writefile{lof}{\contentsline {figure}{\numberline {13}{\ignorespaces Analýza replikátoru}}{43}{figure.13}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {7.3}Optimalizace replikátoru}{43}{subsection.7.3}\protected@file@percent } \newlabel{fig:ecs_optimization_tracy_01}{{7.3}{44}{Optimalizace replikátoru}{figure.13}{}} \@writefile{lof}{\contentsline {figure}{\numberline {14}{\ignorespaces Analýza optimalizace replikátoru pro ECS}}{44}{figure.14}\protected@file@percent } \newlabel{fig:ecs_optimization_tracy_02}{{7.3}{44}{Optimalizace replikátoru}{figure.14}{}} \@writefile{lof}{\contentsline {figure}{\numberline {15}{\ignorespaces Analýza optimalizace replikátoru pro ECS}}{44}{figure.15}\protected@file@percent } \BKM@entry{id=71,open,dest={73756273656374696F6E2E372E34},srcline={1155}}{5C3337365C3337375C303030375C3030302E5C303030345C3030305C3034305C3030304F5C303030705C303030745C303030695C3030306D5C303030615C3030306C5C303030695C3030307A5C303030615C303030635C303030655C3030305C3034305C3030306D5C303030615C3030306E5C303030615C3030315C3137365C303030655C303030725C303030615C3030305C3034305C3030307A5C3030305C3334315C3030306A5C3030306D5C3030315C313537} \BKM@entry{id=72,open,dest={73756273656374696F6E2E372E35},srcline={1185}}{5C3337365C3337375C303030375C3030302E5C303030355C3030305C3034305C3030305A5C3030305C3334315C303030765C3030315C3033335C303030725C30303079} \newlabel{table:serialization_comparison}{{7.3}{45}{Optimalizace replikátoru}{figure.15}{}} \@writefile{lof}{\contentsline {figure}{\numberline {16}{\ignorespaces Porovnání serializátorů}}{45}{figure.16}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {7.4}Optimalizace manažera zájmů}{45}{subsection.7.4}\protected@file@percent } \newlabel{table:range_query_comparison}{{7.4}{46}{Optimalizace manažera zájmů}{subsection.7.4}{}} \@writefile{lof}{\contentsline {figure}{\numberline {17}{\ignorespaces Porovnání algoritmů}}{46}{figure.17}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {7.5}Závěry}{46}{subsection.7.5}\protected@file@percent } \@writefile{lol}{\contentsline {lstlisting}{\numberline {4}Sazba závěrů}{46}{lstlisting.4}\protected@file@percent } \BKM@entry{id=73,open,dest={73656374696F6E2A2E33},srcline={1206}}{5C3337365C3337375C3030305A5C3030305C3334315C303030765C3030315C3033335C30303072} \@writefile{toc}{\contentsline {section}{Z\'av\v er}{47}{section*.3}\protected@file@percent } \babel@aux{czech}{} \babel@aux{czech}{} \BKM@entry{id=74,open,dest={73656374696F6E2A2E35},srcline={1209}}{5C3337365C3337375C303030435C3030306F5C3030306E5C303030635C3030306C5C303030755C303030735C303030695C3030306F5C3030306E5C30303073} \@writefile{toc}{\contentsline {section}{Conclusions}{48}{section*.5}\protected@file@percent } \babel@aux{english}{} \babel@aux{czech}{} \BKM@entry{id=75,open,dest={617070656E6469782E41},srcline={1216}}{5C3337365C3337375C303030415C3030305C3034305C303030505C303030725C303030765C3030306E5C3030305C3335355C3030305C3034305C303030705C3030315C3133315C3030305C3335355C3030306C5C3030306F5C303030685C30303061} \BKM@entry{id=76,open,dest={617070656E6469782E42},srcline={1219}}{5C3337365C3337375C303030425C3030305C3034305C303030445C303030725C303030755C303030685C3030305C3334315C3030305C3034305C303030705C3030315C3133315C3030305C3335355C3030306C5C3030306F5C303030685C30303061} \BKM@entry{id=77,open,dest={617070656E6469782E43},srcline={1224}}{5C3337365C3337375C303030435C3030305C3034305C3030304F5C303030625C303030735C303030615C303030685C3030305C3034305C303030655C3030306C5C303030655C3030306B5C303030745C303030725C3030306F5C3030306E5C303030695C303030635C3030306B5C3030305C3337355C303030635C303030685C3030305C3034305C303030645C303030615C30303074} \@writefile{toc}{\contentsline {section}{\numberline {A}První příloha}{49}{appendix.A}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {B}Druhá příloha}{49}{appendix.B}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {C}Obsah elektronických dat}{49}{appendix.C}\protected@file@percent } \newlabel{sec:ObsahData}{{C}{49}{Obsah elektronických dat}{appendix.C}{}} \BKM@entry{id=78,open,dest={73656374696F6E2A2E37},srcline={1291}}{5C3337365C3337375C303030535C303030655C3030307A5C3030306E5C303030615C3030306D5C3030305C3034305C3030307A5C3030306B5C303030725C303030615C303030745C303030655C3030306B} \abx@aux@nociteall \@writefile{toc}{\contentsline {section}{Seznam zkratek}{51}{section*.7}\protected@file@percent } \BKM@entry{id=79,open,dest={73656374696F6E2A2E38},srcline={1301}}{5C3337365C3337375C3030304C5C303030695C303030745C303030655C303030725C303030615C303030745C303030755C303030725C30303061} \abx@aux@read@bbl@mdfivesum{nobblfile} \abx@aux@read@bblrerun \newlabel{LastPage}{{C}{51}{Obsah elektronických dat}{page.51}{}} \gdef\lastpage@lastpage{51} \gdef\lastpage@lastpageHy{51} \gdef\svg@ink@ver@settings{{\m@ne }{inkscape}{\m@ne }} \gdef \@abspage@last{51}