• Welcome to MX Bikes Official Forum. Please login or sign up.
 
March 28, 2024, 11:48:12 AM

News:

MX Bikes beta18j available! :)


Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - PiBoSo

81
Suggestions and wishlist / Ghost
July 30, 2015, 12:58:35 AM
The "ghost" is the recording of the best lap you can race against, but without collisions.
Do you think it should be added to MX Bikes?
Or do you think it's not useful? Or maybe too arcade for a simulator?

Please vote and comment!
82
Documentation / profile.ini
May 01, 2015, 12:25:20 AM
There are a few settings that are only available manually editing profile.ini file that is located in profile directory under "profiles" in "My Documents"\PiBoSo\MX Bikes\ save path.


[testing]
deformation_multiplier = 1


1 is the default value. Increase it ( up to 20 ) to have the tires deform the terrain faster.
Testing session only.
83
General Discussion / MX Bikes beta3
April 30, 2015, 11:28:41 PM
MX Bikes beta3 released:
http://www.mx-bikes.com/?page=news

Download:
http://www.mx-bikes.com/?page=downloads
( mirrors would be extremely helpful and welcome )

To update:
1) delete everything in the MX Bikes installation folder and in "My Documents"/PiBoSo/MX Bikes/ except for license.ini
2) launch the new installer

Please note that replays are not compatible with the previous version.
84
General Discussion / Oculus Rift DK2
April 30, 2015, 10:25:44 PM
To enable Oculus Rift DK2 support, download the file oculus.dll and move it in the MX Bikes installation folder.

While on track, press Left Ctrl + R to reset the camera tracking position.
85
Track Editing / Question about ramps
April 23, 2015, 11:52:59 PM
A question for track makers:
what material are you using for ramps placed over the terrain?
86
General Discussion / Parts weight
February 05, 2015, 05:08:05 PM
While waiting for MX Bikes to be more refined and contact manufacturers for a collaboration, we need some data to improve realism.

Does anyone know the weight of the swingarm of a MX bike? Or the weight of the front forks + handlebar + springs + dampers + oil?
Even a rough estimate would be of great help, thank you.
Hopefully someone has some spare parts around to weight  :)
87
General Discussion / MX Bikes beta2
November 23, 2014, 06:01:24 PM
MX Bikes beta2 released:
http://www.mx-bikes.com/?page=news

Download:
http://www.mx-bikes.com/?page=downloads
( mirrors would be extremely helpful and welcome )

To update:
1) delete everything in the MX Bikes installation folder and in "My Documents"/PiBoSo/MX Bikes/ except for license.ini
2) launch the new installer

Please note that replays are not compatible with the previous version.
88
Documentation / Live Timing
October 04, 2014, 10:46:03 AM
It is possible to connect to a dedicated server to receive live race data.
The feature is off by default and must be enabled:
http://forum.mx-bikes.com/index.php?topic=197.0
Only 1 client can connect to the server.

Communication is made with UDP sockets and strings terminated with "\n".

Send "CONNECT" followed by the connection password ( empty string if no password ).
Reply:
OK -> connected
FULL -> another client is already connected
WRONGPASSWORD -> wrong password

Send "START", followed by two parameter strings to start receiving data.
First parameter: "0" or "1". If set to "1", the track centerline and the track position of the bikes are sent, too.
Second Parameter: "0", "1" or "2". If set to "1", contacts between bikes are sent. If set to "2", then contacts with walls are sent, too.

Data format is "MSG" followed by the message ID and then a stream of strings.
Send "ACK" followed by the message ID after each MSG.

Send "KEEPALIVE" every 15 seconds to keep the connection active.
The server sends "ALIVE" to report that the connection is active.

Send "DISCONNECT" to correctly close the connection.

Example source code can be downloaded at this link: http://www.kartracing-pro.com/downloads/livetiming.c


Messages data format

EVENT
Type
- OPENPRACTICE
- RACE
- STRAIGHTRHYTHM
Name
Track
Track Length ( meters )
Allowed Categories and Bikes
Empty string

ENTRY
Race Number
Name
Bike Name
Bike Short Name
Categories
GUID
Extra Data
Empty string

ENTRYREMOVE
Race Number
Empty string

Open Practice:
SESSION
Session
- WAITING
- OPENPRACTICE
State
Length
Empty string

Race:
SESSION
Session
- WAITING
- PRACTICE
- PRE-QUALIFY
- QUALIFYPRACTICE
- QUALIFY
- WARMUP
- RACE1
- RACE2
State
if session = practice ( PRACTICE, PRE-QUALIFY, QUALIFYPRACTICE, WARMUP )
- INPROGRESS
- COMPLETE
else if session = race ( QUALIFY, RACE1, RACE2 )
- SIGHTINGLAP
- PRESTART
- STARTSEQUENCE
- INPROGRESS
- RACEOVER
- COMPLETE
endif
Length ( minutes if practice, minutes + laps or L laps if race )
Empty string

WEATHER
Conditions
- CLEAR
- CLOUDY
- RAINY
Air Temperature
Empty string

DRIVERSTATUS
Race Number
State
- DNS
- RET
- DSQ
Reason ( empty if state is not DSQ )
- JUMPSTART
- TOOMANYOFFENCES
- DIRECTOR
Empty string

BESTLAP
Race Number
Session Time ( milliseconds )
Lap Time ( milliseconds )
Lap Number
Split 1 ( milliseconds )
Split 2 ( milliseconds )
Average Speed ( meters/s )
Empty string

LASTLAP
Race Number
Session Time ( milliseconds )
Lap Time ( milliseconds )
Lap Number
Split 1 ( milliseconds )
Split 2 ( milliseconds )
Average Speed ( meters/s )
Empty string

PENALTY
Race Number
Penalty Number
Type
- TIME
Penalty Time ( seconds )
Offence
- JUMPSTART
- CUTTING
Empty string

LAP
Race Number
Lap Invalid
Session Time ( milliseconds )
Lap Time ( milliseconds )
Split 1 ( milliseconds )
Split 2 ( milliseconds )
Average Speed ( meters/s )
Empty string

SPLIT
Race Number
Split Number
Split Time ( milliseconds )
Empty string

HOLESHOT
Race Number
Holeshot Time ( milliseconds )
Empty string

CLASSIFICATION
Session
Status
Session Timer ( milliseconds )
Session Length ( minutes )
Session Lap
Number of Laps
Classification Type ( 0 -> none; 1 -> practice; 2 -> race )
if "Classification Type" is 1 or 2
Start Entry
Number of Entries
for each entry:
Race Number
if "Classification Type" is 1
Best Lap ( milliseconds )
Lap Number
Total Laps
Gap ( milliseconds, -- if zero )
Average Speed ( meters/s )
else
Race Time ( milliseconds ) or Status
- DNS
- DSQ
Lap Number
Gap ( milliseconds or L if lapped )
endelse
Bike Status
- TRK: on track
- PIT: in the pits
endfor
endif
Empty string after the last entry

TRACKDATA
Start / Finish Longitudinal Position
Split 1 Longitudinal Position
Split 2 Longitudinal Position
Holeshot Longitudinal Position ( -1 if missing )
Number of Segments
Empty string

Always sent after TRACKDATA:
TRACKSEGMENT
Segment Number
Type ( 0 = straight, 1 = curve )
Length ( meters )
Radius ( meters )
Angle ( degrees )
Start Position X ( meters )
Start Position z ( meters )
Height ( meters )
Empty string

TRACKPOSITION
for each entry on track:
Race Number
Position X ( meters )
Position Y ( meters )
Position Z ( meters )
endfor
Empty string after the last entry

CONTACT
Time ( milliseconds )
Race Number 1 ( -1 for a wall )
Race Number 2 ( -1 for a wall )
Relative Impact Velocity ( meters/s )
Empty string

END
Empty string
89
Documentation / Voting
October 02, 2014, 03:08:40 PM
The poll starter' vote is set to "Yes", all the others are not set, except when on track, when it defaults to "No".

To change the vote, in addition to the buttons in the chat dialog and the F2/F4 keys on track, it is possible to type "!yes" or "!no" in the chat.

Each poll must get some percentage of "yes" valid ( yes or no ) votes to pass:
"start session": 50% + 1
"track reset": 50% + 1
"black flag": 60% + 1
"kick": 60% + 1
"eject": 60% + 1

Spectators are allowed to vote:
- to kick / ban a client
- to start a new session, but only in a "Waiting" session

A new poll cannot be created within a minute from the last one.
90
Documentation / global.ini
October 02, 2014, 02:43:20 PM
There are a few settings that are only available manually editing the global.ini file that is generated in "My Documents"/PiBoSo/MX Bikes/ ( or, if "compatibility" is set to zero, in the MX Bikes installation folder ).

Under [core] section ( must be created if it doesn't exist ):
mouse_sensitivity = 50
mouse_deadzone = 0.01
mouse_linearity = 1          ; 0 = fully linear. Increase the value to have more precision in the central part
mouse_smooth = 2            ; 0 = no smooth
to set mouse-look parameters.
91
Documentation / Dedicated server
October 02, 2014, 02:38:18 PM
To start a dedicated server, launch mxbikes.exe with the following parameters:
mxbikes.exe -dedicated (port number) [-set params (config_file)]

for example:
mxbikes.exe -dedicated 54210 -set params dedicated.ini


NOTE: if a client runs on the same PC, port 54210 cannot be used.


Configuration file must be in the installation path
If not set SERVER.INI is used.

Format:
[connection]
name =
maxclient =
password =
admin_password =
bandwidth = ; 0 -> very low, 1 -> low, 2 -> medium, 3 -> high, 4 -> very high
max_ping = ; milliseconds. 0 -> no limit
whitelist = ; the filename of the whitelist
blacklist = ; the filename of the blacklist
polls_disable = ; if set to 1, polls are disabled
location = ; information about server location
MOTD = ; message of the day. Use "/r" to split the message in multiple lines.

[export]
results =  ; "html", "xml" or "both". If set it will automatically export results at the end of the last session
directory = ; the directory where results will be saved ( must exist )
units =  ; 0 -> metric units, 1 -> US units, 2 -> UK units
prefix = ; filename prefix of results
incremental = ; 0 or 1. If set to 1, results are exported at the end of each session
contacts = ; 1 -> contacts between bikes are added to the XML export, 2 -> contacts with walls are exported, too

[replay]
save = ; 0 or 1, If set to 1 it will automatically save the full replay at the end of the race
directory = ; the directory where replays will be saved ( must exist )
prefix = ; filename prefix of replays

[event]
name = ; the name of the event ( optional )
track = ; track ID ( the track folder name, for ex. Practice ). If no track is found, then it is searched in the full names ( for ex. Winchester MXoN )
track_layout = ; track layout ( for ex. Short ). Empty -> Default. If "track" is used to search in the full names, then "track_layout" is used as a second filter ( for ex. 2018 to choose between different versions of Nevada )
tracks_shuffle = ; 0 -> no shuffling, 1 -> shuffle the tracks at start only, 2 -> re-shuffle the tracks at the end of the list
category = ; bike category allowed. Empty -> Open. Multiple categories can be set with a slash in between. For example: MX1/MX2
allowed_bikes = ; list of ID of allowed bikes, separated by a slash. For example: 350xf/450xf

[rating]
class = ; A -> 2000+, B -> 1600-1999, C -> 1200-1599, D -> 800-1199

[weather]
realistic = ; 0 or 1, if set to 1, following params are ignored
conditions = ; 0 -> sunny, 1 -> cloudy, 2 -> rainy
temperature = ; air temperature, celsius
wind_direction = ; 0 -> north, 1 -> north-east, 2 -> east, ..., 7 -> north-west
wind_speed = ; meters/second
track_conditions = ; 0 -> dry, 1 -> wet

[hardcore]
force_cockpit = ; 0 or 1
no_aids = ; 0 or 1
limited_tyre_sets = ; 0 or 1

[reset]
type = ; 0 -> no bike reset delay, 1 -> fixed time, 2 -> time based on the distance of the rider from the bike, 3 -> time based on the crash speed
time = ; if "type" is set to 1, the delay time in milliseconds

[race]
open_practice = ; 0 or 1. If set to 1, the following race settings are unused
format = ; 0 or 1. If set to 1 the qualify race is replaced by a qualify practice session. The pre-qualify session is skipped, too
quick_race = ; 0 or 1. If set to 1 all sessions except for warmup and race2 are skipped. The sighting lap is skipped, too
practice_length = ; minutes. If set to 0, the session is skipped
prequalify_length = ; minutes. If set to 0, the session is skipped
qualifypractice_length = ; minutes. If set to 0, the session is skipped
warmup_length = ; minutes. If set to 0, the session is skipped
sighting_lap = ; 0 or 1
race_length_format = ; 0 -> % of full length + 2 laps, 1 -> timed race + extra laps, 2 -> laps
race_length = ; % of full length. Only used if race_length_format is 0
race_minutes = ; only used if race_length_format is 1
race_extralaps = ; only used if race_length_format is 1
race_laps = ; only used if race_length_format is 2
restart_delay = ; server restart time in seconds. The default is 300, 5 minutes. If set at zero, there is no restart

pause = ; 0 or 1. If set to 1, the event is paused and saved at the end of "pause_session"
pause_session = ; practice, prequalify, qualifypractice, qualify, warmup, race1 or race2
pause_directory = ; the directory where data is saved. The default is "resume"
resume = ; the file to load to resume an event
save = ; 0 or 1. If set to 1, the event is saved at the end of "save_session". If "pause" is set, this setting is ignored
save_session = ; practice, prequalify, qualifypractice, qualify, warmup, race1 or race2
save_directory = ; the directory where data is saved. The default is "resume"

[live]
enable = ; 1 or 2 to enable live timing. If set to 1, data is sent through UDP packets ( more info: http://forum.mx-bikes.com/index.php?topic=233.0 ). If set to 2, data is written to a local file
port = ; the UDP port ( only used with "enable = 1" ). If missing or set to 0, port 54220 is used
password = ; ( only used with "enable = 1" )
file = ; the name of the file to write  ( only used with "enable = 2" )
track_position = ; 0 or 1. If set to 1, the track centerline and the position of all bikes are written, too ( only used with "enable = 2" )
contacts = ; 1 -> contacts between bikes are written, 2 -> contacts with walls are written, too ( only used with "enable = 2" )

[remote_admin]
enable = ; 1 to enable remote admin ( more info: http://forum.mx-bikes.com/index.php?topic=3891.0 )
port = ; the UDP port. If missing or set to 0, port 54230 is used
password =

[collisions]
disable = ; 0 or 1. If set to 1, collisions between bikes are disabled. The default is 1
max_ping = ; the ping over which collisions are disabled ( but high-ping clients still collide with the low-ping ones ). If set to 0, collisions are never disabled

[deformation]
scale = ; 0 to 1. 0 disables the terrain deformation ( values in between like 0.5 are allowed )
auto_reset = ; 0 or 1. If set to 1, the terrain deformation is reset at the beginning of each session

[dynamicsurface]
disable = ; 0 or 1. If set to 1, the dynamic track surface is disabled
persistent = ; 0 or 1. If set to 1, the dynamic track surface is not reset between events

[polls]
disable_during_races = ; 0 or 1. It set to 1, polls are disabled during races

[log]
file = ; the name of the file to write the dedicated server output to

NOTE: To minimize join lag, please make sure to restrict the allowed bike categories as much as possible

The replay buffer size can be set in the global.ini file: http://forum.mx-bikes.com/index.php?topic=198.msg6106#msg6106

It is possible to set up to 9 additional tracks, in the "events" section:
track2=
track2_layout=
track2_paint=
track3=
track3_layout=
track3_paint=
...
...
track10=
track10_layout=
track10_paint=
The server will move to the next at each restart and wrap to the first after the last.
The same track and layout can be repeated multiple times in the 10 "slots".

The whitelist and blacklist are a text file using the following format:
[entry0]
guid = ........

[entry1]
guid = ........

[entry2]
steamid = ........

The GUID can be read in the "Profiles" page.
Optionally, it is possible to replace "guid" with "steamid", to use the Steam ID number instead.
Whitelist only: it is possible to set, for each entry, the race number, the name, a prefix to the name ( for example a team "tag" ) and the bike.
Also, it is possible to set a custom string, up to 18 character long, that is added to the XML results export and to the live timing data.
[entry0]
guid = ........
race_number = ...
name = ...
name_prefix = ...
bike_id = ...
spectator = ; 0 or 1. If set to 1, the entry is forced as spectator
extra = ........

In the dedicated server text input, it is possible to type text that will be sent to the connected clients. It can be a personal message: http://forum.mx-bikes.com/index.php?topic=4729.msg44873#msg44873
It is also possible to send commands: http://forum.mx-bikes.com/index.php?topic=4729.msg44874#msg44874
Additional commands:
- "!restart" to reset the server
- "!whitelist update" to reload the whitelist file
- "!blacklist update" to reload the blacklist file
- "!admin" followed by client's name ( or #race number) to promote a client to admin
Text can be sent to the dedicated server from remote, too: http://forum.mx-bikes.com/index.php?topic=3891.0


NOTE: a license is not needed to start a dedicated server.
92
Documentation / Network ports
October 02, 2014, 02:32:40 PM
MX Bikes uses UDP ports 54200 and 54210 for the network protocol.
93
Plugins / Proxy plugin
April 21, 2014, 11:40:32 PM
MX Bikes integrates a "proxy" plugin.

Opening MXBProxyObject

g_hMapFile = OpenFileMapping(FILE_MAP_READ,FALSE,"Local\\MXBProxyObject");
void *pBuf = MapViewOfFile(g_hMapFile,FILE_MAP_READ,0,0,sizeof(SProxyData_t));

external programs can read MX Bikes output data.

The source code and data structure is available here: http://www.mx-bikes.com/downloads/mxb_proxy.c
94
Plugins / Input Plugins
April 21, 2014, 11:37:42 PM
It is possible to write a DLL that sends input data to MX Bikes.

The interface can be downloaded at: http://www.mx-bikes.com/?page=downloads

Please note that all function calls are blocking, so control should be returned to simulation as soon as possible to avoid framerate issues.

The DLL must be compiled for 64 bit.

The plugin must have the file extension renamed to DLI and it must be copied to the "plugins" directory in MX Bikes installation folder.
95
Plugins / Output Plugins
April 21, 2014, 11:35:40 PM

It is possible to write a DLL that receives data from the simulated bike in realtime.

Example source code can be downloaded at http://www.mx-bikes.com/?page=downloads

Please note that all function calls are blocking, so control should be returned to simulation as soon as possible to avoid framerate issues.

The DLL must be compiled for 64 bit.

The plugin must have the file extension renamed to DLO and it must be copied to the "plugins" directory in MX Bikes installation folder.

NOTE: a license is not needed to add plugins.
96
General Discussion / Forum registration
February 26, 2014, 03:40:41 PM
There was a problem with emails on this server, that should now be solved.
If you tried to register on the forum and did not receive the confirmation email, please try again.
There should be an option to resend the registration email.
97
Suggestions and wishlist / Boots modding and animations
February 13, 2014, 06:32:58 PM
It is possible to detach the boots from the rider model to allow modding of the model.
However, there are some technical problems:
1) it is difficult for the engine to attach a rigged model to a pre-existing skeleton
2) it would be difficult for modders to rig the boots

A workaround it to attach static models to the skeleton.
This would allow modding, however there is a drawback: no animations. No gearshift animations, no rear brake animation, no bike push / pull animations.

Do you think that boots model modding is more important than animations?
Do you prefer generic animated boots or static moddable boots?
Please vote!


P.S.
Texture modding will always be possible, with both options.
98
General Discussion / Questions
January 22, 2014, 11:09:28 PM
A forum member asked some questions via PM.
Since they may be interested for the community, too, it is probably better to answer them here.

Quote
Will there be terrain deformation, and how good will it be?
Will there be a tear-off system?
Are the physics good for both supercross and motocross?
Will there be different tractions, example, sand, hardpacked etc.
Will the game support an xbox360 controller, and will it work with dual sticks? (left = bike, right = rider)
What kind of animations will be in the game?
Will the trackobjects have physics? (haybales moving once you hit them etc)
Will the bike have any damage system?
Is there an online mode?
And can you tell me some more about making tracks. I've made quite a lot of heightmaps for other games already, and I would love to make some tracks for mx-bikes in the future, but I want to know what will be posible (Objects, traction etc...)

- Terrain deformation is in progress. Will probably not be featured in the first release, but integrated later.
- Yes, there are tearoffs
- What is the difference? ??? It should work for both.
- Of course different terrains will be simulated, and it will be possible to choose between different tires to better fit different conditions.
- The xbox 360 controller is supported ( no pre-defined profiles, though, controls must be manually assigned ), and it will be possible to use the right stick for the rider movements
- All the needed animations will be ingame  :)
- Trackside objects will be static
- No damage is planned for the bike
- It will be possible to race online
- It's too early to tell, because tools are still in progress. Tracks will start with 16 bits heightmaps, and then it will be possible to assign different terrain materials and integrate 3D objects.