Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@casual-simulation/aux-vm-node

Package Overview
Dependencies
Maintainers
0
Versions
461
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@casual-simulation/aux-vm-node

A set of utilities required to security run an AUX in Node.js.

  • 3.3.15
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
0
Created
Source

AUX VM Node

npm (scoped)

A set of utilities required to run an AUX in Node.js.

Installation

npm install @casual-simulation/aux-vm-node

Usage

Connect to an AUX served from a remote server
import { nodeSimulationWithConfig } from '@casual-simulation/aux-vm-node';
import { AuxUser, Simulation } from '@casual-simulation/aux-vm';

start();

async function start() {
    // The user that we want the program to act as.
    // In a real-world scenario we would not hardcode these values
    // and we would store the token in a secure location.
    const user: AuxUser = {
        id: 'myUserId', // The Unique ID of this user session.
        username: 'myUsername', // The unique username of the user.
        name: 'myName', // The common name of the user.
        token: 'mySecretToken', // The user password.
        isGuest: false, // Whether the user should be treated as a guest.
    };

    // Create an AUX simulation which
    // connects to the given channel on the AUX server.
    // This is a high-level abstraction for
    // an AUX virtual machine and makes it easier to use AUXes.
    const sim = nodeSimulationWithConfig(
        user, // The user that we're connecting as
        'hello', // The ID of the simulation
        {
            config: { // The config values for the AUX Scripts
                isBuilder: false,
                isPlayer: false,

                // The values that should be returned for player.version()
                version: 'v1.0.0',
                versionHash: 'abc',
            },
            partitions: { // The partitions that should be loaded
                // Specify that the "shared" space should be mapped
                // to the 'hello' universe hosted from auxplayer.com.
                shared: {
                    type: 'remote_causal_repo';
                    branch: 'hello';
                    host: 'https://auxplayer.com';
                }
            }
        }
    );

    // Initialize the simulation.
    await sim.init();

    // Listen for the sync state to change to "synced".
    // When we're synced we know we have the most up to date data
    // and we can communicate our changes to the server.
    // Note that this will not fire if we are not allowed to connect.
    // This may happen if we are not authenticated/authorized.
    sim.connection.syncStateChanged.subscribe(synced => {
        if (synced) {
            console.log("We're synced!");
        } else {
            console.log('No longer synced.');
        }
    });
}
Create a bot
// Creates a new bot with a random ID
// with the 'auxColor' tag set to 'red'
// and the 'auxScaleZ' tag set to 2.
await sim.helper.createBot(undefined, {
    auxColor: 'red',
    auxScaleZ: 2,
});
Run a script
// Searches for all the bots that have the 'auxColor' tag
// set to 'red'.
const result = await sim.helper.search('=getBots("auxColor", "red")');

Keywords

FAQs

Package last updated on 19 Dec 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc