aboutsummaryrefslogtreecommitdiff
path: root/src/tikz
diff options
context:
space:
mode:
authorDarkelarious <darkelarious@333networks.com>2021-01-22 19:20:10 +0000
committerDarkelarious <darkelarious@333networks.com>2021-01-22 19:20:10 +0000
commitd39db7650b22d1ebf1d077dfc7a6ba5a36e5df0b (patch)
tree1874dd76a8424fcaf2f4662382328f3f9858838d /src/tikz
parent6b7437536bbf9fa1219ed2657fe53b4767fdda1d (diff)
downloadMasterServer-Documentation-d39db7650b22d1ebf1d077dfc7a6ba5a36e5df0b.tar.gz
MasterServer-Documentation-d39db7650b22d1ebf1d077dfc7a6ba5a36e5df0b.zip
handwritten notes to Tikz, add list of issues to appendices
Diffstat (limited to 'src/tikz')
-rwxr-xr-xsrc/tikz/client-exchange.tex54
-rwxr-xr-xsrc/tikz/heartbeat-exchange.tex34
-rwxr-xr-xsrc/tikz/overview-cgs.tex20
-rwxr-xr-xsrc/tikz/overview-cms.tex20
-rwxr-xr-xsrc/tikz/overview-hb.tex20
-rwxr-xr-xsrc/tikz/overview.tex20
-rwxr-xr-xsrc/tikz/status-exchange.tex47
7 files changed, 215 insertions, 0 deletions
diff --git a/src/tikz/client-exchange.tex b/src/tikz/client-exchange.tex
new file mode 100755
index 0000000..470edc7
--- /dev/null
+++ b/src/tikz/client-exchange.tex
@@ -0,0 +1,54 @@
+\begin{tikzpicture}
+
+% figure title
+\node[rectangle] at (5, 10.5) (title) {\underline{\bf TCP serverlist communication}};
+
+% ms and gc, top
+\node[draw, rectangle, minimum height=0.6cm, minimum width=2.7cm] at (0, 10.0) (mstop) {\bf masterserver};
+\node[draw, rectangle, minimum height=0.6cm, minimum width=2.7cm] at (10, 10.0) (gctop) {\bf game client};
+
+% open connection
+\node at (10, 9.5) (gcoc) {};
+\node at ( 0, 8.5) (msoc) {};
+\node at (-1, 9.0) (mslisten) [text width=2cm, text centered]{listening for\\connections};
+\draw[->] (gcoc) -- (msoc) node[midway, above, sloped] {open TCP connection};
+
+% secure
+\node at ( 0, 8.0) (msse) {};
+\node at (10, 7.0) (gcse) {};
+\node at (11, 7.0) (gcsecure) [text width=2cm,text centered]{calculate unique\\ response};
+\draw[->] (msse) -- (gcse) node[midway, above, sloped] {request basic game info, send ``secure'' string};
+
+% validate
+\node at (10, 6.5) (gcva) {};
+\node at ( 0, 5.5) (msva) {};
+\node at (-1, 5.5) (msvalidate) [text width=2cm,text centered]{verify\\ response};
+\draw[->] (gcva) -- (msva) node[midway, above, sloped] {send unique response, basic game info (gamename)};
+
+% list request
+\node at (10, 5.0) (gcli) {};
+\node at ( 0, 4.0) (msli) {};
+\node at (-1, 4.0) (mslist) [text width=2cm, text centered]{if verified, compile list};
+\draw[->] (gcli) -- (msli) node[midway, above, sloped] {request list and format (plain/compressed)};
+
+\node at ( 0, 3.5) (msl1) {};
+\node at (10, 2.5) (gcl1) {};
+\draw[->] (msl1) -- (gcl1) node[midway, above, sloped] {list of addresses (ip:port)};
+
+\node at ( 0, 3.2) (msl2) {};
+\node at (10, 2.2) (gcl2) {};
+\node at (11, 2.0) (gcparse) [text width=2cm, text centered]{parse\\address\\list};
+\draw[->] (msl2) -- (gcl2) node[midway, below, sloped] {(in multiple packets)};
+
+% close connection
+\node at ( 0, 1.7) (mscc) {};
+\node at (10, 0.7) (gccc) {};
+\draw[->] (mscc) -- (gccc) node[midway, above, sloped] {close connection};
+
+% ms and gc, bottom, vertical lines
+\node at ( 0, 0) (msbot) {};
+\node at (10, 0.0) (gcbot) {};
+\draw[->] (mstop.270) -- (msbot.90) node[at end, xshift=-0.2cm, yshift=0.5cm, rotate=90] {time};
+\draw (gctop.270) -- (gcbot.90) {};
+
+\end{tikzpicture}
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}
diff --git a/src/tikz/overview-cgs.tex b/src/tikz/overview-cgs.tex
new file mode 100755
index 0000000..dd2d161
--- /dev/null
+++ b/src/tikz/overview-cgs.tex
@@ -0,0 +1,20 @@
+\begin{tikzpicture}
+
+\tikzset{drawbox/.style={draw, rectangle, minimum height=1cm, minimum width=3cm}}
+\tikzset{drawline/.style={midway, sloped, text width=2cm, text centered}}
+
+% figure title
+\node[rectangle] at (5, 1) (title) {\underline{\bf Infrastructure overview}};
+
+% gameserver, masterserver, game client
+\node[drawbox] at ( 0, 0) (gs) {\bf gameserver};
+\node[drawbox, black!40] at (10, -2) (ms) {\bf masterserver};
+\node[drawbox] at ( 2, -4) (gc) {\bf game client};
+
+% interactions
+\draw[black!40] (gs) -- (ms) node[drawline] {(1) UDP\\heartbeat};
+\draw[black!40] (gc) -- (ms) node[drawline] {(2) TCP\\list request};
+\draw (gc) -- (gs) node[drawline, rotate=90, left, align=right] {(3) UDP\\status request};
+
+
+\end{tikzpicture}
diff --git a/src/tikz/overview-cms.tex b/src/tikz/overview-cms.tex
new file mode 100755
index 0000000..d6bf8b8
--- /dev/null
+++ b/src/tikz/overview-cms.tex
@@ -0,0 +1,20 @@
+\begin{tikzpicture}
+
+\tikzset{drawbox/.style={draw, rectangle, minimum height=1cm, minimum width=3cm}}
+\tikzset{drawline/.style={midway, sloped, text width=2cm, text centered}}
+
+% figure title
+\node[rectangle] at (5, 1) (title) {\underline{\bf Infrastructure overview}};
+
+% gameserver, masterserver, game client
+\node[drawbox, black!40] at ( 0, 0) (gs) {\bf gameserver};
+\node[drawbox] at (10, -2) (ms) {\bf masterserver};
+\node[drawbox] at ( 2, -4) (gc) {\bf game client};
+
+% interactions
+\draw[black!40] (gs) -- (ms) node[drawline] {(1) UDP\\heartbeat};
+\draw (gc) -- (ms) node[drawline] {(2) TCP\\list request};
+\draw[black!40] (gc) -- (gs) node[drawline, rotate=90, left, align=right] {(3) UDP\\status request};
+
+
+\end{tikzpicture}
diff --git a/src/tikz/overview-hb.tex b/src/tikz/overview-hb.tex
new file mode 100755
index 0000000..cf306ca
--- /dev/null
+++ b/src/tikz/overview-hb.tex
@@ -0,0 +1,20 @@
+\begin{tikzpicture}
+
+\tikzset{drawbox/.style={draw, rectangle, minimum height=1cm, minimum width=3cm}}
+\tikzset{drawline/.style={midway, sloped, text width=2cm, text centered}}
+
+% figure title
+\node[rectangle] at (5, 1) (title) {\underline{\bf Infrastructure overview}};
+
+% gameserver, masterserver, game client
+\node[drawbox] at ( 0, 0) (gs) {\bf gameserver};
+\node[drawbox] at (10, -2) (ms) {\bf masterserver};
+\node[drawbox, black!40] at ( 2, -4) (gc) {\bf game client};
+
+% interactions
+\draw (gs) -- (ms) node[drawline] {(1) UDP\\heartbeat};
+\draw[black!40] (gc) -- (ms) node[drawline] {(2) TCP\\list request};
+\draw[black!40] (gc) -- (gs) node[drawline, rotate=90, left, align=right] {(3) UDP\\status request};
+
+
+\end{tikzpicture}
diff --git a/src/tikz/overview.tex b/src/tikz/overview.tex
new file mode 100755
index 0000000..ac0bbf8
--- /dev/null
+++ b/src/tikz/overview.tex
@@ -0,0 +1,20 @@
+\begin{tikzpicture}
+
+\tikzset{drawbox/.style={draw, rectangle, minimum height=1cm, minimum width=3cm}}
+\tikzset{drawline/.style={midway, sloped, text width=2cm, text centered}}
+
+% figure title
+\node[rectangle] at (5, 1) (title) {\underline{\bf Infrastructure overview}};
+
+% gameserver, masterserver, game client
+\node[drawbox] at ( 0, 0) (gs) {\bf gameserver};
+\node[drawbox] at (10, -2) (ms) {\bf masterserver};
+\node[drawbox] at ( 2, -4) (gc) {\bf game client};
+
+% interactions
+\draw (gs) -- (ms) node[drawline] {(1) UDP\\heartbeat};
+\draw (gc) -- (ms) node[drawline] {(2) TCP\\list request};
+\draw (gc) -- (gs) node[drawline, rotate=90, left, align=right] {(3) UDP\\status request};
+
+
+\end{tikzpicture}
diff --git a/src/tikz/status-exchange.tex b/src/tikz/status-exchange.tex
new file mode 100755
index 0000000..159c762
--- /dev/null
+++ b/src/tikz/status-exchange.tex
@@ -0,0 +1,47 @@
+\begin{tikzpicture}
+
+% figure title
+\node[rectangle] at (5, 6) (title) {\underline{\bf UDP status communication}};
+
+% game client and gameserver
+\node[draw, rectangle, minimum height=0.6cm, minimum width=2.7cm] at ( 0, 5.5) (gctop) {\bf game client};
+\node[draw, rectangle, minimum height=0.6cm, minimum width=2.7cm] at (10, 5.5) (gstop) {\bf gameserver};
+
+% status
+\node at ( 0, 5.0) (gcrq) {};
+\node at (10, 4.0) (gsrq) {};
+\draw[->] (gcrq) -- (gsrq) node[midway, above, sloped] {status request};
+
+% basic
+\node at (10, 3.5) (gsba) {};
+\node at ( 0, 2.5) (gcba) {};
+\draw[->] (gsba) -- (gcba) node[midway, above, sloped] {``basic'' response};
+
+% info
+\node at (10, 3.0) (gsin) {};
+\node at ( 0, 2.0) (gcin) {};
+\draw[->] (gsin) -- (gcin) node[midway, above, sloped] {``info'' response};
+
+% rules
+\node at (10, 2.5) (gsru) {};
+\node at ( 0, 1.5) (gcru) {};
+\draw[->] (gsru) -- (gcru) node[midway, above, sloped] {``rules'' response};
+
+% players
+\node at (10, 2.0) (gspl) {};
+\node at ( 0, 1.0) (gcpl) {};
+\draw[->] (gspl) -- (gcpl) node[midway, above, sloped] {``players'' response};
+
+% multiple packets
+\node at (10, 1.85) (gspl2) {};
+\node at ( 0, 0.85) (gcpl2) {};
+\draw[->] (gspl2) -- (gcpl2) {};
+
+
+% gameserver and masterserver bottom, vertical lines
+\node at ( 0, 0) (gcbot) {};
+\node at (10, 0) (gsbot) {};
+\draw[->] (gctop.270) -- (gcbot.90) node[at end, xshift=-0.2cm, yshift=0.5cm, rotate=90] {time};
+\draw (gstop.270) -- (gsbot.90) {};
+
+\end{tikzpicture}