Buggy code:
public class driverClient { private static String serverName ; public static void main ( String [ ] args ) throws InterruptedException { <START_BUG> String ip = "localhost" ; <END_BUG> GameInstance clientGame = new GameInstance ( ) ; JFrame gameFrame = new JFrame ( "game<seq2seq4repair_space>renderer<seq2seq4repair_space>Demo" ) ; gameFrame . setDefaultCloseOperation ( JFrame . EXIT_ON_CLOSE ) ; GameRenderer renderer = new GameRenderer ( clientGame ) { @ Override public Dimension getPreferredSize ( ) { return new Dimension ( ( 64 * 50 ) , ( 64 * 50 ) ) ; } } ; gameFrame . setSize ( 640 , 480 ) ; gameFrame . getContentPane ( ) . add ( new JScrollPane ( renderer ) , BorderLayout . CENTER ) ; gameFrame . setVisible ( true ) ; JFrame tableFrame = new JFrame ( ) ; String [ ] colnames = new String [ ] { "Tank<seq2seq4repair_space>Image" , "Name" , "IP" , "x<seq2seq4repair_space>coord" , "y<seq2seq4repair_space>coord" , "Health" , "Status" } ; Object [ ] [ ] data = new Object [ 8 ] [ ] ; for ( int i = 0 ; i < 8 ; i ++ ) { data [ i ] = clientGame . tanks . get ( i ) . toStringArray ( ) ; } JTable table = new JTable ( data , colnames ) ; tableFrame . add ( table ) ; tableFrame . setSize ( 500 , 300 ) ; tableFrame . setDefaultCloseOperation ( JFrame . EXIT_ON_CLOSE ) ; tableFrame . setVisible ( true ) ; JFrame controlFrame = new JFrame ( "game<seq2seq4repair_space>controls" ) ; ClientControls controls = new ClientControls ( ) ; controlFrame . add ( controls ) ; controlFrame . setSize ( 150 , 150 ) ; controlFrame . setDefaultCloseOperation ( JFrame . EXIT_ON_CLOSE ) ; controlFrame . setVisible ( true ) ; Scanner input = new Scanner ( System . in ) ; int port = 6666 ; try { System . out . println ( ( ( ( "local:<seq2seq4repair_space>Connecting<seq2seq4repair_space>to<seq2seq4repair_space>" + ip ) + "<seq2seq4repair_space>on<seq2seq4repair_space>port<seq2seq4repair_space>" ) + port ) ) ; try ( Socket client = new Socket ( ip , port ) ) { System . out . println ( ( "local:<seq2seq4repair_space>Just<seq2seq4repair_space>connected<seq2seq4repair_space>to<seq2seq4repair_space>" + ( client . getRemoteSocketAddress ( ) ) ) ) ; OutputStream outToServer = client . getOutputStream ( ) ; InputStream inFromServer = client . getInputStream ( ) ; DataOutputStream out = new DataOutputStream ( outToServer ) ; DataInputStream in = new DataInputStream ( inFromServer ) ; boolean loop = true ; String name = "" ; System . out . println ( "enter<seq2seq4repair_space>name:<seq2seq4repair_space>" ) ; name = input . next ( ) ; out . writeUTF ( name ) ; int playerID = - 1 ; playerID = in . readInt ( ) ; System . out . println ( ( "debug<seq2seq4repair_space>client<seq2seq4repair_space>read<seq2seq4repair_space>in<seq2seq4repair_space>playerID<seq2seq4repair_space>as<seq2seq4repair_space>" + playerID ) ) ; System . out . println ( "debug<seq2seq4repair_space>nothing<seq2seq4repair_space>should<seq2seq4repair_space>be<seq2seq4repair_space>in<seq2seq4repair_space>the<seq2seq4repair_space>socket<seq2seq4repair_space>buffers" ) ; while ( loop ) { Scanner scanner = new Scanner ( System . in ) ; int numMsg = in . readInt ( ) ; if ( numMsg != 0 ) System . out . println ( ( "debug<seq2seq4repair_space>number<seq2seq4repair_space>of<seq2seq4repair_space>message<seq2seq4repair_space>to<seq2seq4repair_space>expect<seq2seq4repair_space>" + numMsg ) ) ; for ( int i = 0 ; i < numMsg ; i ++ ) { System . out . println ( "loop" ) ; int msgType = in . readInt ( ) ; if ( msgType == 1 ) { System . out . println ( "debug<seq2seq4repair_space>inbound<seq2seq4repair_space>name<seq2seq4repair_space>message" ) ; int nameMsgPlayerID = in . readInt ( ) ; String nameMsgPlayerName = in . readUTF ( ) ; clientGame . tanks . get ( nameMsgPlayerID ) . Name = nameMsgPlayerName ; System . out . println ( ( ( ( "debug<seq2seq4repair_space>player<seq2seq4repair_space>number" + nameMsgPlayerID ) + "<seq2seq4repair_space>is<seq2seq4repair_space>" ) + nameMsgPlayerName ) ) ; } else if ( msgType == 2 ) { System . out . println ( "debug<seq2seq4repair_space>inbound<seq2seq4repair_space>move<seq2seq4repair_space>message" ) ; int moveMsgPlayerID = in . readInt ( ) ; int x = in . readInt ( ) ; int y = in . readInt ( ) ; clientGame . tanks . get ( moveMsgPlayerID ) . xCoord = x ; clientGame . tanks . get ( moveMsgPlayerID ) . yCoord = y ; renderer . repaint ( ) ; System . out . println ( ( ( ( ( ( "debug<seq2seq4repair_space>" + moveMsgPlayerID ) + "<seq2seq4repair_space>tank<seq2seq4repair_space>moved<seq2seq4repair_space>to<seq2seq4repair_space>" ) + x ) + ",<seq2seq4repair_space>" ) + y ) ) ; } else if ( msgType == 3 ) { System . out . println ( "debug<seq2seq4repair_space>inbound<seq2seq4repair_space>terrain<seq2seq4repair_space>message" ) ; int x = in . readInt ( ) ; int y = in . readInt ( ) ; char base = in . readChar ( ) ; char top = in . readChar ( ) ; char style = in . readChar ( ) ; char corner = in . readChar ( ) ; clientGame . gameMap . baseLayer [ y ] [ x ] = base ; clientGame . gameMap . topLayer [ y ] [ x ] = top ; clientGame . gameMap . spriteStyle [ y ] [ x ] = style ; clientGame . gameMap . corners [ y ] [ x ] = corner ; renderer . repaint ( ) ; System . out . println ( ( ( ( ( ( ( ( ( "debug<seq2seq4repair_space>tile<seq2seq4repair_space>" + x ) + "<seq2seq4repair_space>,<seq2seq4repair_space>" ) + y ) + "<seq2seq4repair_space>btsc<seq2seq4repair_space>" ) + base ) + top ) + style ) + corner ) ) ; } else System . out . println ( ( "debug<seq2seq4repair_space>the<seq2seq4repair_space>inbound<seq2seq4repair_space>messagetype<seq2seq4repair_space>was" + msgType ) ) ; } int userInput = - 1 ; int xCoord = controls . getInputX ( ) ; int yCoord = controls . getInputY ( ) ; if ( ! ( ( xCoord == 0 ) && ( yCoord == 0 ) ) ) { userInput = 0 ; } if ( userInput == ( - 1 ) ) { out . writeInt ( ( - 1 ) ) ; }

Fix:
String ip = "104.231.9.131" ;