title: Lance-gg game socket.io failed to load resource on digital ocean
body: <p>My lance-gg game works on localhost, but now that I have tried to deploy on digital ocean the site seems to be hosting but I can't connect the socket.io. The error in the client browser is:</p>
  <p><code>[Error] Failed to load resource: The request timed out. (socket.io, line 0) http://144.126.196.39:3001/socket.io/?EIO=3&amp;transport=polling&amp;t=NOU8Lc-</code></p>
  <p>The server code is:</p>
  <pre><code>import path from 'path';
  import express from 'express';
  import socketIO from 'socket.io';
  import { Lib, ServerEngine, GameEngine } from 'lance-gg';
  
  // define routes and socket
  const server = express();
  server.get('/', (req, res) =&gt; { res.sendFile(path.join(__dirname, '../dist/index.html')); });
  server.use('/', express.static(path.join(__dirname, '../dist/')));
  let requestHandler = server.listen(3001);
  const io = socketIO(requestHandler);
  
  // Game Instances
  const gameEngine = new GameEngine({ traceLevel: Lib.Trace.TRACE_NONE });
  const serverEngine = new ServerEngine(io, gameEngine, { debug: {}, updateRate: 12 });
  serverEngine.start();
  </code></pre>
  <p>And the client code is:</p>
  <pre><code>import { Renderer, GameEngine, ClientEngine } from 'lance-gg';
  
  const options = {
      delayInputCount: 3,
      scheduler: 'render-schedule',
      syncOptions: {
          sync: 'extrapolate',
          remoteObjBending: 0.8,
          bendingIncrements: 12
      },
      serverURL: 'http://144.126.196.39:3001'
  };
  
  // create a client engine and a game engine
  const gameEngine = new GameEngine(options);
  const clientEngine = new ClientEngine(gameEngine, options, Renderer);
  document.addEventListener('DOMContentLoaded', (e) =&gt; clientEngine.start());
  </code></pre>
  <p>I understand the nodeJS starter template in digital ocean uses Nginx so I made sure to redirect using port 3001 to my app.</p>
  <pre><code>server {
          listen 80 default_server;
          listen [::]:80 default_server;
  
          root /var/www/moon-game-2;
  
          index index.html index.htm index.nginx-debian.html;
  
          server_name hellonode;
  
          location ^~ /assets/ {
                  gzip_static on;
                  expires 12h;
                  add_header Cache-Control public;
          }
  
          location / {
                  proxy_http_version 1.1;
                  proxy_cache_bypass $http_upgrade;
  
                  proxy_set_header Upgrade $http_upgrade;
                  proxy_set_header Connection 'upgrade';
                  proxy_set_header Host $host;
                  proxy_set_header X-Real-IP $remote_addr;
                  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                  proxy_set_header X-Forwarded-Proto $scheme;
  
                  proxy_pass http://localhost:3001;
          }
  
  }
  </code></pre>
  <p>How can I make it so that my socket.io also connects to my lance-gg server?</p>