diff options
Diffstat (limited to 'src/tikz')
| -rwxr-xr-x | src/tikz/client-exchange.tex | 54 | ||||
| -rwxr-xr-x | src/tikz/heartbeat-exchange.tex | 34 | ||||
| -rwxr-xr-x | src/tikz/overview-cgs.tex | 20 | ||||
| -rwxr-xr-x | src/tikz/overview-cms.tex | 20 | ||||
| -rwxr-xr-x | src/tikz/overview-hb.tex | 20 | ||||
| -rwxr-xr-x | src/tikz/overview.tex | 20 | ||||
| -rwxr-xr-x | src/tikz/status-exchange.tex | 47 |
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} |
