Code Monkey home page Code Monkey logo

nodepolus_old's Introduction

Archived

This is the old version of NodePolus and is no longer supported.


NodePolus

๐ŸŒŸ Please Star the project and join our Discord server for support! It really helps out! :)

NodePolus is a JavaScript library containing multiple implementations of the Among Us network protocol. Once finished, it will provide implementations for each of the following:

  • A custom region server with plugin support
  • A programmable client that can play games
  • A packet inspector and proxy

Only the region server is in a usable state, with plugin support in its early stages of development. The client and packet inspector are currently non-functional. For questions and updates regarding the API, client, and packet inspector, join our Discord server.

Usage

Region Server

  1. Install node.js v15.0.1 or later
  2. Download NodePolus
    • Either by downloading the zip here
    • Or by cloning the repo via git clone https://github.com/NodePolus/NodePolus.git
  3. Open a terminal inside the extracted archive directory or the cloned repo directory
  4. Install the dependencies
    • If you downloaded the zip archive: npm install --ignore-scripts
    • If you cloned the repo: npm install
  5. Start the server: npm start

nodepolus_old's People

Contributors

112batman avatar codyphobe avatar cybershard avatar denaton avatar drwhorx avatar edqx avatar gideongrinberg avatar knbedgm avatar pandadriver156 avatar roobscoob avatar sanae6 avatar someoneweird avatar stuffa1991 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nodepolus_old's Issues

NodePolus fails to compile with Linux

When compiling NodePolus with npm start on Linux, it will error:

Cannot find module '../lib/server' or its corresponding type declarations.

This has been tested on a Linux server.

The problem originates from the polus.ts file, where the Server file is defined with a lowercase S. This problem can be fixed by replacing the lowercase S from the polus.ts file on the first line with a capital S.

Project linter

We obviously need to pick a linter to use for the project, I'm going to throw out StandardJS and Prettier as highly recommended options.

Both standard and prettier use 2 spaces for indentation which I know @roobscoob and @Sanae6 seem to be against, but it's pretty much what the JS community as a whole has agreed on. Potentially open to 4 spaces though :)

Venting does not update position values

Venting currently works for an imposter, but when leaving a different vent than the one they got into, the imposters position is not updated on other clients.

As soon as the imposter moves, a movement packet is sent and they teleport on other clients.

NP doesn't disconnect players on earlier versions

We don't actually check the version the client sends, and that allows any version to connect to the server. Wouldn't it be right to either restrict NP to latest version, or allow the server to specify a version to allow/deny? I can understand this potentially being plugin territory but it makes more sense for the base server to do that.

An example of that API could be this:

server.setVersions([
	new Version(2020, 10, 22),
	new Version(2020, 11, 17)
])

The server would take these versions and use them for rejecting clients who aren't on those versions.

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.