GameBot

From Rigs of Rods Wiki

Jump to:navigation, search

Note: Game bot is not usable anymore, it was only usable for 35, and below, and if you had compiled your server, if you would like to re-work it to make it work, have at it.

What is it?

Its a Python Client for the Rigs of Rods RoRnet_2.1 Protocol that can do some automatic tasks.

It is controlled by the gobal server chat in the game, once connected.

As it is written in Python, both the server and the client are cross platform.

Requirements

  • Python (2.4 or 2.5 or upper) installed

Download and Installation

The python client/server is included in the SF-svn.
Either checkout the trunk and look under python or download the files here

Just download and run the files, the execution directory is not important.

How to Stress Test a server

A couple notes at startup:

  • do not do this on productive servers!
  • only do this on localhost, as the bandwidth requirement is very high!


This little tutorial will allow you to use the bot to stress test a RoR MP server:
1. start your test server on localhost, port 12000
2. start the bot:

client.py 127.0.0.1 12000 1

3. join with RoR the server and issue the command !recordme
The bot will now record your movements and use this data later for stress testing. (so drive around a bit)
4. you can stop the recording with !stop or wait until the frame recording limit is reached (1000 frames)
5. as the recording is stopped and saved, remember the saved filename (i.e. rec9) and close the bot (with !shutdownn or CTRL+C in the console)
6. restart the bot like this:

client.py 127.0.0.1 12000 32 "!connect;!playrec rec9"

This will spawn 32 Bots that play back your recording (as you should see in your RoR client) :)


Happy testing :)

Bot Commands

  • !recordme the person who said this is recorded
  • !stop the recording is stopped
  • !record <UID> record player with <UID> (from server stats screen)
  • !ping replies with pong! when alive
  • !records shows all available recordings
  • !playrec <filename> plays a recorded file (leave out .rec)
  • !rejoin will reset the bot and forces him to rejoin (useful to end a playback)
  • !say <text> obvious ;)
  • !connect connects to the server (only useful from console)
  • !shutdown shutdowns the bot
  • !disconnect disconnects from the server (only useful from console)

How to start the Python server?

simple solution:

server.py test nhelens 12000

the commandline arguments are:

  • servername (for advertisement at master server)
  • terrain
  • port


if you want a LAN server only then search&replace this:

	Notifier().start()

with that:

	#Notifier().start()

(The tab IS important!)



About Rigs of Rods

    Rigs of Rods is a unique soft body physics simulator.


Some Tools


Partners

SourceForge.net

Follow us

Twitter youtube Facebook RSS Feed


impressum