Seeking Your Feedback on BeamMP Mod - Let's Shape the Future Together!

epic work :smirk_cat:

consider proposing your netcode to beamng devs. once theyll un-spaghettify their ■■■■■■ code, beammp will be top priority… like it shouldve been in 2013… except rigsofrods already did all of that… which is pretty funny because afaik theyre ex ROR devs? :exploding_head: :exploding_head:

edit: historical capsule

i hop on beammp just to, uh, show off my driving skills! :nerd_face: im allergic to crashing as one should be… but this mod? people LOVE crashing. wow. okay. yep. avoid people at all costs.

as far as i understand, the client-side-rendered non-static objects, vehicles, physics of which take part in the netcode, are “dragged” along their last pinged position as blobs (UDP, previously done via win/websockets), thus, preventing “interpolated stutter” as it would have happened were there rigid physics, as seen in other games… in short, the client renders the vehicles, so one is free to choose whom to queue/spawn in. well, that is a nice concept, guys, but that there is very suboptimal, in my opinion…

only in beammp are you able to see how important chassis stiffening and rollcages are. because in rigsofrods, you seldom find people flying busses at you. besides, beamng is popular with its ■■■■■■ meshlap jbeamless modland virus car websites where you can get an ey mercedes for free

anyway. thats it. those were the pro’s. now id like to express my VERY unorganised concerns, suggestions and ideas about beamMP and beamNG!

TODO: I NEED TO SPOILER OR DELETE SOME OF THESE

  • PEOPLE HAVE SUGGESTED AND I SECOND THAT:
  1. there needs to be working MP scenarios, time trials, light runner, CAREER MODE and CAMPAIGN. edit: there are already such servers!
  2. a dynamic checkpoint system as well as lap times by default (also working hotlapping UI app), EDIT: there are already such servers with such implementation
  3. damage penalties for competitions (severity may vary on the amount of broken beams and nodes) :face_with_monocle:
  4. synchronised world editor (server host ONLY)!
  • ISSUES!:
  1. how come a Humble Bundle copy of the game is not valid? everytime i see someone get an error code 4, you guys rush to ask “do you own the game on steam?”, well, steam isnt the only place to have games. personally i would rather humble bundle than steam in a heartbeat. besides, once BeamNG hits GOG, will you approve these copies or not? :face_with_raised_eyebrow:
  2. blobs/unicycles dont appear in the dynamic reflections, making it harder for me to let people pass. :snowman: EDIT: unicycles IMPLEMENTED
  3. the “Multiplayer Session” UI app, if deleted from the interface, upon any queue event it locks your camera in place and gets you a memory leak. :open_mouth: EDIT: floating memory leak?
  4. for any and all NON-wheel users, having gearbox, throttle and clutch assists ENABLED in the gameplay settings, any WHEEL players WILL appear to have locked up (broke) their engines and make a lot of smoke whenever their clutch axis is anywhere between ranges of 0 to 100%. Despite this being an issue that could be easily prevented by turning off any gearbox, throttle and clutch assists, it is not an option when someone is playing on a keyboard/mouse/controller and doesn’t have any control of the clutch pedal. A vanilla-related problem or not, this calls for a button to requeue a player’s car. On such ways I talk more down below. EDIT: the current method of requeueing is by pressing on the player’s ID in the playerlist… :smoking: EDIT2: IMPLEMENTED/FIXED
  5. “Failed to close socket” error… EDIT2: not to be confused with server shutting down or restarting, which sends the same [WARN] message about sockets… EDIT: just casually found this error message, which is the same TCP RST signal as in beamMP. winsocks suck, yet beamMP is using it??! i didnt know… my whole perception of this mod has shattered. ahhhhhhh, windows. web. sockets… (that beamMP is using for connections btw), THE boomer LEGACY (!!!) “feature” that the WHOLE of the IT world absolutely DESPISES (sorry titch, i know its the only thing you know and are experienced with, but win sockets are HORRID)… lets be real, we’re all pretending to ignore these WSA* sockets, but in reality, 1/4 of the people here constantly have connection problems with them… e.g., even i get infinite byte requests on linux, proton beamng+mp, the mods are downloading infinitely because there is no signal to stop sending bytes, might as well ddos the server by literally trying to join, am i right?! MOREOVER, if anyone is playing on an unstable connection with frequent ping spikes, they can get “disconnected from the server”, which is unacceptable server behaviour, every other game doesnt kick you for a few seconds of connection timeout. this happens because one’s connection upstream cannot keep up with with the amount of data YOUR game is sending to the server, which is slightly suggestible, BeamMP devs, hmm? EDIT: i, as of writing this at 16th november, have discovered something incredible, which is an addendum to the first edit, so here is a PSA having the socket warnings: VERY INTERESTINGLY and IMPORTANTLY, you must remember that this game is non-deterministic, and the AMOUNT of data you send is dependant on the amount of your FRAMERATE. EDIT3: ALSO ALSO, remember that beamMP sends ticks (pings) every 10 ms! //BREAK in theory, you can fix all of your unclosed sockets problems had you less FPS! now, this WOULDNT work if one is already struggling to have more than 60 fps, so then applies the timeout situation in such a case… well, guys, BeamMP devs - i strongly suggest you should either redo your serverside and/or netcode from scratch (if its entirely reliant on windows sockets)! you could even use QUIC for networking (in lieau of TCP and UDP)! or at the very least notify or inform better that the 4444 port may be used by torrent clients and similar p2p network software! so maybe there needs to be a prompt asking to rejoin via different client port AND/OR have the ability to change upload/download client settings! :pray:
  6. “Recent servers” is cool but where’s a “History” tab? my memory isnt great, i dont remember whom did i run over yesterday! :woozy_face:
  7. “server is full” and i press “ok”. ok, but can i not do that? there should be an option to automatically reconnect in intervals or as soon as there is a free slot (take ideas from other games!). :yawning_face: EDIT: ALTERNATIVELY, let the server list update itself in an interval AUTOMATICALLY.
  8. is there a new launcher update? idk, i cant check! i mean i can but i have to go to github and look in releases again… (even more annoying on linux!) :nerd_face: EDIT: FIXED
  9. F5 or CTRL+L (reload lua) or CTRL+S (reload system lua) disconnects you from a server. make beamMP an exception? :weary: EDIT: FIXED
  10. the blob colour hex editor is broken and i cant click on it or change any values. why even hex? make a colour picker, like everywhere else! also on the topic of multiplayer settings, there should be a “reset all” button :smiling_face:
  11. ah yes the notorious “You have been disconnected from the server” pop-up that doesnt explain anything. it should say whether it is a client/server request timeout, the user was kicked by the admin, or if it was a simple server restart. :face_with_symbols_over_mouth: EDIT: made WORSE - there is no notification pop up on native linux anymore
  12. (related to 5) speaking of timeouts, why is it such a short time before you get “disconnected”? Where’s the harm in keeping a player with a 1000ms ping for a few seconds? :face_with_raised_eyebrow: EDIT: FIXED
  13. i realised that any lag spikes you get in the loading screen while loading players may also contribute to timeouts (players ? ping ? bug) and “you have been disconnected” messages. A number 4 down below in my SUGGESTIONS should probably fix this issue.
  14. nametags scale with resolution, e.g. they disappear or become too small to be legible in VR or on 4K monitors. :nerd_face: EDIT: see [linux native] comically large nametags (and buttons)
  15. Recent “new UI” on vue does not work with beamMP. :sob: EDIT: FIXED
  16. speaking of error code 3 and 4 (FOR PIRATES: just simply put your BeamNG rip into your steamapps folder with correct paths as if you have it bought, and you’re sorted; pfx id = 284160), it has come to my attention that the players here having this issue are not aware of the consequences of having unicode characters in your windows username. this makes your %USERFOLDER% unreadable especially if you have migrated from win7 without reinstalling the system or have had a unicode username but you renamed the user folder, thinking it would work (DO NOT DO THIS, windows has a registry, you are basically making things harder for yourself). i talk about it in a bit more detail here, if you are curious, IT IS A VERY SERIOUS TOPIC! if you have this issue, your system might be absolutely corrupted! however the general rule of thumb is to check that you are installing beammp (or ANY other software) on a windows account with ONLY latin characters in the username path :warning: :warning: :warning:
  17. As I mentioned in number 4, it is unconfirmed whether lights and horns stay ON for other players who haven’t queued/loaded such vehicle. :triumph: EDIT: they do NOT sync
  18. Even if you remove the “Messages” UI app, you can still see players’ queueing edits when you press ESC. :anger:
  19. All fatal errors or warning pop-ups take away the focus or control of the mouse/controller/wheel. a temporary solution is to hide the interface when you are driving with Alt+U. :left_speech_bubble:
  20. In addition to no. 11, when you do get such a pop-up, offer options to either: A) leave the server or B) rejoin without (!) a loading screen (unless you were kicked) :space_invader:
  21. There is no odometer or temperature sync for any engine or oil thermals when you respawn/queue a player when they have been already driving for some time. :hot_pepper:
  22. When you delete your own LAST vehicle, any queue edits, all unspawned players’ vehicles immediately apply and spawn even if you have non-automatic queue enabled! same for vehicle config > debug > remove all, spawn a car, delete it - see what happens :timer_clock:
  23. beamMP linux native, experimental chat, special characters (e.g. %) appear as gibbersh text. :santa: EDIT: FIXED
  24. currently everything around beamMP revolves around discord (e.g. `BeamPaint). there should be an alternative way to use such features that require discord for those who dont have it or prefer not to use it. :writing_hand:
  25. use simplified vehicles when available” in the multiplayer options causes players’ vehicles to become simplified, as expected, BUT it also makes players appear as different, wrong vehicle configurations (e.g. cars with doors when there are none, wrong transmission, wrong tyres, wrong paintjob - NOT TO BE CONFUSED WITH DESYNC!). so if you were to COPY or CLONE anyone’s car, you’d have the wrong config. perhaps there is no way to fix this due to how simplified vehicles work in base beamNG. SOLUTION: untoggle the setting in the multiplayer options; the setting in the gameplay tab would suit one better. :sob:
  • QUALITY OF LIFE SUGGESTIONS!
    (these are mostly options as toggles in the multiplayer settings)
  1. naturally, people want better framerates, however the “simplified players vehicles” is not enough. i propose a toggle option in the settings so that they could be turned into traffic simplified vehicles, which are greatly optimised even more. :boom: EDIT: IMPLEMENTED
  2. a list spectators currently watching ME (also in third person, see no. 23). :eyes:
  3. blobs (aka “unloaded or queued remote player vehicles”) as a spheroid or a rectangle (representing the length of a sedan; also see no. 14), as well as collision (also approximate wheel blobs). If you don’t understand this, imagine a player spawning a bus, however the orange blob is very small to represent its boundaries. Let blobs scale up with the car’s dimensions. this also would imply that, if one appears as a pigeon, but changed to a truck, blob size approximation will show that (perhaps a thing of its own?). :football:
  4. option to choose which/whose queue events to apply (in a non-automatic queue system; I suggest making the playerlist UI app indicate/highlight who queued an event). :writing_hand:
  5. option to not load player vehicles upon joining a server (this could potentially prevent 0x00000001 error crashes). Instead, they will be placed in the queue, despite having the automatic queue application enabled. Player queues will be ignored until you spawn a vehicle yourself. :face_with_symbols_over_mouth:
  6. automatically blobify GUEST player vehicles (as well as delete those already spawned). :japanese_goblin:
  7. a button or a key to UNDO deleted player vehicles (currently the only way is to ask the player to delete their vehicle and respawn again or to rejoin the server yourself; fun fact: it is already possible in KissMP). See suggestion no. 33 down below! :blush: EDIT: IMPLEMENTED
  8. a user/player report system (on the forums and in the playerlist). :cowboy_hat_face:
  9. Unicycle (snowman) player skins (customisable playermodels). :clown_face:
  10. Option to not download server’s mods and join as-is. :crazy_face:
  11. Option to set client networking options in the console or in the Multiplayer settings, such as client entity interpolation AND/OR smoothing (toggle), sync update rate, upload and download rates, etc. A very important feature for McDonalds wifi users! :skull:
  12. Chat whisper mode, coloured chat, proximity chat, as well as clan/club/group tags. Your mod is getting recognition! Let people express themselves! :partying_face: EDIT: partially IMPLEMENTED (interpolation)
  13. In addition to no. 2, if a player’s vehicle is a blob, option to load only their sounds and tyre marks. :ghost: EDIT: impossible
  14. As addendum to no. 2 & no. 13, more options for blobs, such as transparency/opacity, texture, shape and size. :exploding_head:
  15. More options for player nametags - colour, SIZE, font, overlapping (they are instead stacking) and vehicle information (loaded file name), speed and engine, which is fetched from the user even if they are a blob. Minecraft vibes anyone? :pleading_face:
  16. In the serverlist, playerlist and session app, an ability to see server’s and player’s uptime AND/OR playtime. Doesn’t have to be necessarily dependant to the server, but a useful feature nonetheless. :star_struck:
  17. In addition to no. 5, option or a key to blobify (unload or queue out) everyone (better paired with no. 7). :sob:
  18. Option for an auto-disconnect timer and a reconnect button, if connection to the server was lost. Implement into the server UI bar at the top. :hugs:
  19. Option to make blobs a vehicle, as in enable collision (a kind of a unicycle to skip queue, in case you can’t figure out reflective meshes; it would make more sense with the things I am asking on this idea list, such as blob/snowman reflections in the mirrors, but also see the next idea). :shushing_face:
  20. Option to make blobs observable (to be able to switch to). Only possible if they are vehicles, see previous suggestion. :alien:
  21. Finally, if/when blobs are vehicles and nametags also show vehicle stats - let there be an option to copy a player’s vehicle AND/OR see player’s vehicle information in the nametag even if they are a blob! this will make it so that one doesnt need to use torquecurve on other players. :scream:
  22. As addendum to no 8., filter bad usernames (e.g. slurs, hate speech). including literal words, e.g. @racialslur :blush:
  23. Option to see (and toggle) self (your own) nametags (in third person). this will make it easier to find yourself when you free cam too far away :no_mouth:
  24. In addition to no. 10, at the server list, there should be an option to choose which mods to download (maps, vehicles, mods of mods, etc.), like in valve games :eyes:
  25. Option to immediately blobify a player who changes their vehicle (so that you won’t see buses instead of pigeons, for example). same as the blob size approximation suggestion. :open_mouth:
  26. A notification pop-up in the messages UI AND/OR a custom pop-up in the middle of the screen with allow/deny request buttons when you (or someone else) gets cloned (username, vehicle id). Could also be implement with the nametags (clickable, interactable, see no. 33) :money_mouth_face:
  27. BeamMP should come with vehicle cloning disabled by default and an option to turn it on to prevent configuration stealing. :shushing_face: EDIT: IMPLEMENTED (not by default)
  28. “Safe Mode” for BeamMP, where every mod AND/OR data is temporary and will be deleted upon exit. :mask:
  29. As addendum to no. 12, global (everywhere) and local (this server) chat tabs would be nice. :smiling_face:
  30. Make a free cam position ping the same way as spectators or blobs are. In other words, show nametags for spectators in Shift+C/F8 mode. maybe doesnt need to be blobs, but just nametags? use your own imagination, beamMP, you could even apply a bird (pigeon) or a drone model! :nerd_face:
  31. In reference to all previous time out suggestions, I propose this: When the player times out for any longer than 2 seconds (which i believe is enough to get a “failed to close socket” warning/error), as soon as they regain connection, reset their vehicle immediately (!), because by this time they appear to have already crashed their car, when in reality they didn’t and they keep driving a broken vehicle. :money_mouth_face:
  32. Alternatively to number 31, make players’ vehicles temporarily lose collision with the world but continue moving in their direction of momentum when they have lost connection. This is possibly the best solution to desync crashes, smokes and etc. :sneezing_face: EDIT: impossible?
  33. An option within the settings AND/OR a button within the multiplayer chat, playerlist, servername UI itself that allows to change font, its size, colour and opacity. :mag:
  34. Interactable/Clickable NAMETAGS (!) and/or nicknames in the playerlist! Right click to choose from: to load, to delete, to requeue (respawn) a deleted (!) or broken vehicle. :speech_balloon: EDIT: partially IMPLEMENTED
  • EVENT IDEAS (STUPID AND BORING)
  1. Unicycle (snowman) Deathrun or Parkour (using level animated geometry collision meshes) - afaik BeamNG doesn’t support this as of 0.31. :joy:
  2. jumping over cars as a unicycle within specified borders, if you get outside the circle/square - you lose (this can be actually quite fun this New Year). :dizzy_face:
  3. Prison Break, except you are a snowman closed inside of a truck cargo, as players in stock Covets Or W/Pigeons are desperately trying to stop the kidnapper. :zipper_mouth_face:
  4. Vehicle building events (with limited time, same/any car, for a special stage). Fastest and consistent wins. :red_car:
  5. Level mapping events (for a theme) for the community by the community! :night_with_stars:
  6. Cannonball events (I can’t believe no one have suggested this). :8ball:
  7. Air Shows, since drag coefficients in BeamNG allow for flight. It could also be the highest jump by land vehicle, if airplanes are too hard to control. :airplane:
  8. rallycross, around short dirt ovals or 8’s, where the last working engine wins. Flipped? Just press F7 (see my tips & tricks section below) and off you go again. No resets! :sunglasses:
  9. Rocket League, except it’s in BeamNG! I mean we have multiplayer, a ball (with editable pressure) and godmode for cars (custom jbeams)! :soccer:
  10. Endurance drives! Last one to keep driving wins! Overheated, out of fuel or busted steering? Tough luck! Sometimes you don’t need to go all in in order to win. :skull:
  11. Anything that has a prize pool! BeamNG has just the right amount of competitiveness and randomness! Just like in Trackmania, BeamMP should do the same here. :money_mouth_face:
  12. anything that has to do with slow cars in tight places - city or short circuits. its always fun to push a slow car fast!
  • TIPS N TRICKS 4 NOOBZ (FREE RAM!)
  1. first unspoken rule of beamMP - do NOT ■■■■■■■ fly around like an idiot. proper etiquette implies use of F8 or Shift+C for free cam AND F7 to teleport your vehicle, INSERT key to set home spawn, R to reset. :smiling_face_with_three_hearts:
  2. Lagging? Switch to a player (Tab) and delete their vehicle in the menu. :kissing_heart:
  3. Still lagging? Remove All/Others in Vehicle Configuration > Debug > Remove All. :wink:
  4. If deleting cars wasn’t enough, in an attempt to unload another core, press Alt+U to hide the interface for a more immersive experience and also increase framerate (the UI occupies 1 core of your cpu, so do graphics, physics, audio and every other vehicle). I usually delete all UI elements and keep just the chat, and it gives quite a framerate boost. :heart_eyes:
  5. Keyboard players without ABS, tune your braking force multiplier to 40-60% so that wheels dont lock up on tarmac (also use racing slick or tarmac rally tyres, but never different wheels or diameters, as it is in real life!). :yum:
  6. Never unzip mods or have them in the /vehicles folder, otherwise you will be shown as a grey spherical blob and/or even have your account banned or even worse - laughed at, because we can see the filename of your modland “ferrari”. :cry:
  7. Guys, drive safely if you ever want to impress someone… :roll_eyes:
  8. Don’t have a steering wheel and pedals? There is a wacky alternative that you can master! Find “combined throttle/brake” and “steering (axis/mouse)” in the Settings > Controls > Vehicle. Then disable all Driving Assistants in the Gameplay tab. Remember to unbind WASD keys! :smiling_imp: i made a guide! SIM RACING - full mouse control or keyboard and mouse control :wink:
  9. Please avoid frequent tuning, modifying, spawning, respawning, getting out of a car or cloning any vehicles on a full server. We have to load in every single change you make, by the way. Build your cars in singleplayer and please come prepared next time! :unamused:
  10. Please don’t spawn vehicles in front of moving players. :relieved:
  11. Speaking of sim racing ethiquette, you should use your turn signals (blinkers) AND/OR high beam flashes to imply an overtake first. Both can be bound in the controls. :100:
  12. To see how much horsepower your vehicle has, in the UI Apps look for the “Torquecurve” module. :thinking:
  13. Controller drivers, set your Deadzone Begin/End in the steering axis/mouse vehicle controls settings. You are finally free from bad driving! :stuck_out_tongue_winking_eye:

yeah. this school project is foss, btw. agpl3 - pretty good, but couldve been better. at least these little guys seem much more passionate than the beamng devs! :blush:

TAKE CARE!!! DRIVE RECKLESS!!! LOVE YOU!!! BE WELL!!! BIG UPS!!! <3

:heart: :orange_heart: :yellow_heart: :green_heart: :blue_heart: :purple_heart:

1 Like