aboutsummaryrefslogtreecommitdiff
path: root/src/tikz/heartbeat-exchange.tex
diff options
context:
space:
mode:
Diffstat (limited to 'src/tikz/heartbeat-exchange.tex')
-rwxr-xr-xsrc/tikz/heartbeat-exchange.tex34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/tikz/heartbeat-exchange.tex b/src/tikz/heartbeat-exchange.tex
new file mode 100755
index 0000000..dd45a19
--- /dev/null
+++ b/src/tikz/heartbeat-exchange.tex
@@ -0,0 +1,34 @@
+\begin{tikzpicture}
+
+% figure title
+\node[rectangle] at (5, 6) (title) {\underline{\bf UDP heartbeat communication}};
+
+% gameserver and masterserver
+\node[draw, rectangle, minimum height=0.6cm, minimum width=2.7cm] at ( 0, 5.5) (gstop) {\bf gameserver};
+\node[draw, rectangle, minimum height=0.6cm, minimum width=2.7cm] at (10, 5.5) (mstop) {\bf masterserver};
+
+% heartbeat
+\node at ( 0, 5) (gshb) {};
+\node at (10, 4) (mshb) {};
+\node at (11, 4) (mssecure) [text width=2cm,text centered]{challenge\\sender};
+\draw[->] (gshb) -- (mshb) node[midway, above, sloped] {send heartbeat: port, gamename};
+
+% secure challenge
+\node at (10, 3.5) (msse) {};
+\node at ( 0, 2.5) (gsse) {};
+\node at (-1, 2.5) (msvalidate) [text width=2cm,text centered]{calculate\\``validate''\\response};
+\draw[->] (msse) -- (gsse) node[midway, above, sloped] {challenge with ``secure'' string, request basic game info};
+
+% validate
+\node at ( 0, 2) (gsva) {};
+\node at (10, 1) (msva) {};
+\node at (11.6, 1) (mscmp) [text width=3cm, text centered]{check response and add server to list};
+\draw[->] (gsva) -- (msva) node[midway, above, sloped] {send ``validate'' response, gamename, game version};
+
+% gameserver and masterserver bottom, vertical lines
+\node at ( 0, 0) (gsbot) {};
+\node at (10, 0) (msbot) {};
+\draw[->] (gstop.270) -- (gsbot.90) node[at end, xshift=-0.2cm, yshift=0.5cm, rotate=90] {time};
+\draw (mstop.270) -- (msbot.90) {};
+
+\end{tikzpicture}