• Welcome to MX Bikes Official Forum. Please login or sign up.
 
April 24, 2024, 10:21:11 PM

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.

Messages - PiBoSo

947
General Discussion / Re: Questions
October 05, 2014, 11:47:45 PM
Quote from: gdubmx on October 05, 2014, 11:14:01 PM
Piboso/Snappe can we customise the in-game bike stand?

misc/stand/
948
General Discussion / Re: So... Thoughts so far?
October 04, 2014, 10:44:36 PM
Quote from: HornetMaX on October 04, 2014, 10:37:38 PM
Hmm ... rewording properly, I guess what bearded4glory is asking is a mode where the stick position dictates a "target lean rate" instead of a "target lean angle".
This means: the more you push the stick to the right, the quicker the bike leans to the right. When you center the stick, the bike keeps the current lean.

I don't think it's less noble than the current target lean, even if for sure it's not any "purer" (pure = direct steer).
What I don't know is if it is any better. Could be interesting to try.

MaX.

If this is what bearded4glory suggests, it will be added in Beta2.
949
General Discussion / Re: So... Thoughts so far?
October 04, 2014, 09:19:55 PM
Quote from: bearded4glory on October 04, 2014, 09:16:35 PM
Quote from: Midbeck on October 04, 2014, 08:33:19 PM
Quote from: bearded4glory on October 04, 2014, 07:45:32 PM
Yea, I tried MaxTorque but it was not what I was expecting.  DirectSteer is more what I had in mind and more similar to MXS.

How do you even keep up with DirectSteer? It feels nothing like mxs to me :p All i do is fall over.

Well its definitely extreme because there is no stabilizer at all.  I don't know exactly how it works in MXS but all those parameters in the Advanced Stability are there to help the rider keep the bike from just falling over.  In MXB with Direct Steer enabled you have to countersteer constantly to keep the bike from falling all the way over but if the "non-hardcore" stabilizer helped it would be similar to MXS.

If we could set a mix between the 2 so that the stabilizer would only help keep the bike up but not stand it up straight that would probably be a decent attempt for right now but IDK if Piboso is interested in working on "Hardcore Mode" he seems more fond of the regular mode.

There is no more work to do on the hardcore modes, except tuning of the torque for mode 2.
Unless you want external, fake, forces to keep the bike from falling, that are out of the question.
950
Suggestions and wishlist / Re: Whip concept for PiBoSo
October 04, 2014, 07:53:46 PM
Quote from: Paulo Rodrigues on October 03, 2014, 07:10:17 PM
Hello PiB, A person can do the whip and bring back because of the friction of the wind on the bike, I know it's impossible to simulate a perfect air friction in a game because I'm also a developer, but I've algorithms that simulates this "natural force".

Thank you for the tip.
The effect of air drag has been greatly underestimated, because velocity didn't seem high enough.
With more realistic aerodynamic parameters there is a remarkable self-aligning behaviour during jumps.
951
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
952
Bug Reports / Re: Stats - show competitors
October 03, 2014, 10:52:20 AM
Quote from: dibu on October 03, 2014, 10:50:37 AM
There seems to be a small problem with the show competitors feature at the stats page.
If a dedicated server crashes and you restart it within 5 minutes the formerly logged in users are shown connected for ever at the competitors link, even if the server is empty now.
I saw this problem because I'm running watchdog scripts which automaticly restart a crashed dedicated server within a few seconds.

To simulate the problem:
-start a dedicated server
-connect to the server with your mx-bikes client
-kill the (dedicated) mxbikes process with task manager
-restart the dedicated server within 5 minutes (before it disappers from the server list in world/website)
-at the stats page the server shows empty again but your client name is still listed as connected at the competitors link

Workaround after server crash:
-do not restart the dedicated server until it has disappeared from the server list in world/website
-restart the dedicated server, shut it down with the Quit button and restart it again

Thank you for the report.
953
General Discussion / Re: So... Thoughts so far?
October 02, 2014, 11:02:48 PM
Quote from: bearded4glory on October 02, 2014, 09:43:06 PM
If non realistic outside forces make the game feel more realistic then it would be silly not to use them.

No way.
954
Bug Reports / Re: Pit Board Causing FPS Problems
October 02, 2014, 07:40:37 PM
Quote from: BlizzardDUCK on October 01, 2014, 02:22:17 AM
Just updated my NVidia Geforce 540M drivers to the latest updated, and still have the same issue.

Please make sure, in the Nvidia Control Panel, that the preferred graphics processor is the Nvidia processor.
955
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.
956
Documentation / Re: global.ini
October 02, 2014, 02:45:35 PM
Under [core] section ( must be created if it doesn't exist ):
texture_quality = 4
to set the quality of loaded textures.

The possible values are:
0 -> uncompressed, OpenGL default
1 -> uncompressed, 32 bits
2 -> uncompressed, 16 bits
3 -> compressed, OpenGL driver
4 -> compressed ( the default value )

1 gives the better quality and much faster loading times, at the expense of video ram usage and a performance hit.
Please note that values from 0 to 2 are NOT recommended for multiplayer.
957
Documentation / Re: global.ini
October 02, 2014, 02:45:17 PM
Under [core] section ( must be created if it doesn't exist ):

bike_shadow = 512
bike_reflections = 128

to set the power of 2 ( 256, 512, 1024, ... ) resolution of the shadow and reflections textures.
Higher values use more video ram and may have a performance hit.
958
Documentation / Re: global.ini
October 02, 2014, 02:44:34 PM
Under [core] section ( must be created if it doesn't exist ):
replay  = 40
to set the size, in megabytes, of the replay buffer. The default value is 40, the maximum one is 512.
Warning: the bigger the buffer, the more RAM will be used.
959
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.
960
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.