\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}
