Immerse yourself in an unparalleled web universe with our innovative hosting solutions!

Explore reliable, secure, and high-performance options tailored to all your online needs.

All our web hosting solutions

Discover unmatched power with our innovative and tailor-made VPS servers!

Experience freedom and power with our VPS, designed to take your projects to new heights!

All our VPS servers

Optimize your bots with our dedicated, powerful, and custom hosting!

Experience smooth management and optimal performance with our hosting for bots.

All our bot offers

New BoxGaming offer

Discover our brand new offer, available in our datacenters in France and the United States. With a single offer, you can switch server types at any time.

Discover the offer
Minecraft server hosting offer

Immerse yourself in the ultimate gaming experience with our optimized and powerful hosting!

Minecraft Server

Professional Services (B2B)

The list of offers presented here is intended for professionals. If you are an individual, we invite you to check out our consumer offers.

How to run multiple bots with a single Node.js/Python Plan on OuiHeberg

  • Home
  • Blog
  • How to run multiple bots with a single Node.js/Python Plan on OuiHeberg
How to run multiple bots with a single Node.js/Python Plan on OuiHeberg

How to run multiple bots with a single Node.js/Python Plan on OuiHeberg

In this tutorial, we will show you how to run multiple bots (or scripts) using a single plan on OuiHeberg. We will cover two methods: one using Node.js and another using Python. These approaches will allow you to execute multiple processes in parallel efficiently.

Part 1: For NodeJS bot hosting plans

Step 1: Create a new JavaScript file

Create a new JavaScript file, for example, launchBots.js, in the same directory as your bot scripts.

Step 2: Write the code to launch the files in parallel

Copy the following code into your launchBots.js file. This code uses the child_process module, included by default with Node.js, to execute each script in parallel.


const { spawn } = require('child_process');

// List of files to launch
const filesToExecute = ['script1.js', 'script2.js', 'script3.js'];

// Function to launch the files in parallel
function runFilesInParallel() {
  filesToExecute.forEach((file) => {
    const childProcess = spawn('node', [file]);

    // Handle output events
    childProcess.stdout.on('data', (data) => {
      console.log(`[${file}] stdout: ${data}`);
    });

    childProcess.stderr.on('data', (data) => {
      console.error(`[${file}] stderr: ${data}`);
    });

    childProcess.on('close', (code) => {
      console.log(`[${file}] child process exited with code ${code}`);
    });
  });
}

// Launch the files in parallel
runFilesInParallel();

Replace the file names 'script1.js', 'script2.js', and 'script3.js' in the filesToExecute array with the names of your bot scripts. For example, if you have two bots named 'myFirstBot.js' and 'mySecondBot.js', the filesToExecute array should look like this: ['myFirstBot.js', 'mySecondBot.js'].

Step 3: Update the server configuration on OuiPanel

  1. Log in to your OuiPanel account.
  2. Navigate to the "Server Configuration" section.
  3. Look for the "JS Startup File" section.
  4. Replace the existing file name with launchBots.js.

This tells OuiPanel to run your new JavaScript file that will launch all your bots.

Part 2: For Python bot hosting plans

Step 1: Create a new Python file

Create a new Python file, for example, launch_bots.py, in the same directory as your bot scripts.

Step 2: Write the code to launch the files in parallel

Copy the following code into your launch_bots.py file. This code uses Python's subprocess module to execute each script in parallel.


import subprocess

# List of files to launch
files_to_execute = ['script1.js', 'script2.js', 'script3.js']

# Function to launch the files in parallel
def run_files_in_parallel():
    processes = []
    for file in files_to_execute:
        process = subprocess.Popen(['node', file], 
                                   stdout=subprocess.PIPE, 
                                   stderr=subprocess.PIPE, 
                                   text=True)
        processes.append((file, process))

    for file, process in processes:
        stdout, stderr = process.communicate()
        
        if stdout:
            print(f"[{file}] stdout: {stdout}")
        if stderr:
            print(f"[{file}] stderr: {stderr}")
        
        print(f"[{file}] child process exited with code {process.returncode}")

# Launch the files in parallel
run_files_in_parallel()

Replace the file names 'script1.js', 'script2.js', and 'script3.js' in the files_to_execute array with the names of your bot scripts. For example, if you have two bots named 'myFirstBot.js' and 'mySecondBot.js', the files_to_execute array should look like this: ['myFirstBot.js', 'mySecondBot.js'].

Step 3: Update the server configuration on OuiPanel

  1. Log in to your OuiPanel account.
  2. Navigate to the "Server Configuration" section.
  3. Look for the "Startup File" section.
  4. Replace the existing file name with launch_bots.py.

This tells OuiPanel to run your new Python file that will launch all your bots.

Conclusion

And there you go! You have successfully launched multiple bots using a single plan on OuiHeberg, whether with Node.js or Python. Each bot runs in its own process, so if one bot crashes, it won't affect the others. This method allows you to efficiently manage multiple scripts simultaneously, optimizing your server resources.

Feel free to share your experiences or ask questions in the comments below!