Giter Site home page Giter Site logo

d0020e-2017-unityserver's Introduction

Installation

För att köra programmet/servern behövs Node.js (v.6.10.0 LTS+), dessutom används följande paket:

  • Express (v.4.14.1)
  • Jade (v.1.11.0)
  • Socket.io (v.0.9.15)

Följ detta för att få allt att funka.

  1. För debian installeras node såhär.
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs
  1. Ta sedan ner repot.
git clone https://github.com/Ironedde/D0020E-2017-UnityServer.git
  1. Sist så skall node paketen installeras (detta görs i mappen där projektet är).
npm install

Allt ska nu vara installerat och ni ska kunna starta servern.

Dummy Server - pserver.js

Användning: node pserver.js <port>

Om ingen port har angivits så kommer standardporten att vara 3077. Om flera argument ges väljs det sista som portens nummer. En webbaserad positioneringsklient kan hittas på http://<hostname>:<port>/clientunder serverns körning. Det går att hämta en lista över alla anslutna klienter och deras positioner via http på http://<hostname>:<port>/positions

Dummy Client - pclient.js

Användning: node pclient.js <hostname>

Denna klient fungerar inte utan att minst en server är angiven. Klienten kan ansluta till flera servrar samtidigt (även samma server flera gånger). Funktionaliteten hos denna klient kan inte garanteras då den inte har uppdaterats i takt med servern. Använd webbklienten om möjligt.

Lägga till fler funktioner i servern

Att utöka servern till att hantera mer data än bara positionen är tämligen enkelt. Node.js är en mycket modulär teknologi och att lägga till fler moduler blir trivialt. Alternativt så kan allting hållas till en fil, men detta påvekar programmets interna kvalitet.

Exempel på implementation av ”farozoner”

Gör en ny fil/modul med farozonerna, typ dangerzone.js. Inkludera relevanta bibliotek och dylikt till filen och se till att det publika module.exports är ett NetworkDataObject (finns definierat i network\_data\_object.js). All implementation bör stanna i denna exempelfil, men det definierade objektet måste registreras i pserver.js via ndo.define(...). Se hur positioneringsobjektet är implementerat för detaljer.

Förbättring av modularitet

Gör gärna så att positions.js inte bara är en stubb-fil, utan innehåller att kod för att hålla koll på positionen.

Övriga exempel

Dessa kan finnas i projekrapporten.

(Läs även Webclient/readme.md för info om hur video länken funkar)

d0020e-2017-unityserver's People

Contributors

gentlemanpalm avatar armedguy avatar ironedde avatar superspindel avatar

Watchers

James Cloos avatar Synapz3 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.