How to ask for help with an Orbiter issue.

Status
Not open for further replies.

Xyon

Puts the Fun in Dysfunctional
Administrator
Moderator
Orbiter Contributor
Addon Developer
Webmaster
GFX Staff
Beta Tester
Joined
Aug 9, 2009
Messages
6,925
Reaction score
793
Points
203
Location
10.0.0.1
Website
www.orbiter-radio.co.uk
Preferred Pronouns
she/her
I find myself repeating the same pieces of advice a lot these days on problem report threads, so I thought it'd make good sense to have an article for reference on the best way to submit a post asking for help with an Orbiter issue. This is, in essence, a sequence of guidelines about what your post should contain, and also what you should do before posting, to ensure that other members of the forum have the information we need to adequately help you.

  1. Read the manual!

    Orbiter comes with comprehensive documentation and instruction, and there is a vast wealth of knowledge here on OF which will help you to understand how to operate the program successfully. Oftentimes, something you think is a problem is actually not, and indeed a lot of the questions which get asked on the forums are already clearly explained in the manual.

    For addons, all should come with some form of documentation, depending on how complex the addon itself is. Developers, myself included, spend a lot of time writing it, and this time is not spent for you to simply ignore it.

    You will find that here, and in other forums related to games and software, users are happy to assist other users who have put the time in to attempt to help themselves. The first part of that is reading the documentation, and you'll also find that we're much more willing to assist you if you've done this. If you haven't, that's the first place you'll be sent.

    OF has a "Tutorials" section, too, which is full of excellent articles designed specifically to assist you with operating and flying in Orbiter. Do please check them out before asking questions about how to fly. Orbiter has a steep learning curve, and we all had to learn to use it by following the same process.

  2. No, we don't have multiplayer.

    Please don't start a thread asking for it! The topic has been debated at length for years, both here and elsewhere. If you want proof of that, just search for "Multiplayer" here on OF, or take a look at Hielor's blog post with all the threads started on the subject in it.

    If you have something constructive to add to the multiplayer aspects of Orbiter, such as they are, then contribute it in a productive, rational manner. We are not closed to the concept, we are just sick of hearing people keep asking "OMG DOES IT DO MULTIPLAYER YET?"

    Update: There has been some development of late on a multiplayer project using Face's OMP system, and it seems to be meeting with some success. You can find out what's going on here.

  3. Use the search function

    Yes, we have a search function here. You can search once every thirty seconds. It's on the top right of the page. Please use it before posting a thread to see if the issue you're having has already been posted!

    If it has, and you have something constructive to add to the thread, then (making sure to abide by the forum's necropost rules) do so.

    Chances are, your issue was reported and solved already, so try the solution in the thread if you find one. And if there isn't a thread already, you can make one, following the guidelines below.

  4. Use a descriptive title.

    Posting a thread with a title like "HELLLLLLP" may serve to attract attention, but what it really does is brings confusion and contempt to your post instead of help. From the outside, nobody can actually see what your issue is, and since you're posting in the "issues" forum anyway, it's pretty much a given that you want some kind of help.

    Your thread title should be a short summary of the problem you're facing. For instance, if you're having a crash to desktop (CTD) with the deltaglider in one of the stock scenarios, then a good title would be "DeltaGlider CTD in <scenario name>". This way, people already have an idea of the issue before even opening the thread up.

  5. Please use proper words...

    Regardless of your skill at speaking English, it should be possible to write a post which is understandable to others. If you're not a native English speaker, we do have an international forum too, and we can work around language barriers. What I mean, primarily, is this:

    robiter isnt wrkin i instl ninetyhundred addns n nw is crsh n ld hlp plz hlpme
    (disclaimer: not an actual forum quote.)

    Uh... what? I don't understand a word of that, and I just wrote it. Please, make an effort to be understood. Be as clear as possible, and spell-check what you're writing. We're not psychic. We don't know what you mean unless you tell us.

  6. Leave the colour settings alone.

    Now, it doesn't matter whether you spell colour with a u or not, OF has some pretty irritating features when it comes to coloured text in posts. Why is it irritating? Because we don't all use the same forum skin, we all have different monitor types and settings, different browsers... and different eyes.

    The default text on this forum automatically changes its colour to best stand out against the background. So, for instance, on the default skin, this looks black, wheras on the Dark Nights skin (which I was using when I wrote it), it looks grey and easy to read.

    If you change the colour settings from the default, the text becomes hard to read on other styles instantly. Posting in black text breaks all the dark skins. Posting in white text breaks all the light skins. And posting in 50px high rainbow-coloured text breaks everyone's eyes, not to mention their sanity.

    There's no need to change the colours to make a point or to make your post look better. It will do what it is supposed to do - convey information - much better on the default settings, and you'll annoy people much less.

    Note: Sometimes, pasting things in can break the default colours. To fix this, turn off the fancy formatting view and delete the styling BBcode which is changing the colour of the text in question. There's a button to "Remove Text Formatting" in the top left of the editor toolbar.

    Now, on to what your post should have in it:

  7. System Specifications.

    We need to know quite a lot about the platform you're trying to run Orbiter on to make a valid assessment of the issue. It does no good to say "Orbiter crashes while loading the Delta Glider" if you neglect to mention that you're trying to run Orbiter in linux under wine, for example (If you don't know what linux or wine are, don't worry, you don't need to). Briefly, the information we need about your system is generic, and won't compromise your security to provide it.

    Tell us your:
    • Operating system, or version of Windows and architecture (Meaning 64 or 32 bit. If you're not sure, it's probably 32 bit). For example, Windows XP 32 bit, Windows Vista 64 bit, Windows 7 x64, Ubuntu x86, etc.
    • CPU make, model, speed, architecture (see above). For example, AMD Athlon II X2 250 3GHz. You can get this from the "System" item in Control Panel in Windows.
    • RAM, meaning memory. For example, 2GB DDR2, 4GB DDR3, etc. Again, the "System" item in Windows' control panel will tell you this.
    • Graphics (card or chipset) make, model, type. Some motherboards and laptops have what are called "integrated" graphics, which means they're part of the motherboard. If you don't have a graphics card installed, then what you're using is an integrated graphics chipset. (This is usually worse than having a card.) For example; nVidia 240 1GB PCI-E, ATI Radeon 9600 256MB AGP. You can get this information from the "Display" options either in control panel (Windows XP: Display -> Advanced; Windows Vista / 7: View by icons -> Display -> Change resolution -> Advanced settings) or by right-clicking the desktop (Windows XP: Properties -> Advanced; Windows Vista / 7: Screen resolution -> Advanced Settings).
    • Sound. This is usually done by on-motherboard chipsets too these days unless you've specifically added a card. We'll want the make, model and type of the equipment you're using. Note that this isn't the speakers or headset that you've plugged into the computer, but the piece of hardware inside the computer that you plugged it into. You can get this with Control Panel -> Sound (It's usually the default device, which is indicated in Windows Vista / 7 with a green tick (or "check" if you prefer). Note that this is only relevant if you're having a problem with the sound in some way, as Orbiter by default does not include sound.

  8. Orbiter.cfg

    When you change the settings in Orbiter's launchpad, what it does is writes values to a file called Orbiter.cfg. This is in the same folder as Orbiter.exe, and gets written for the first time once you've run the launchpad at least once. For post 2010 installs, this is after the install verification has finished and Orbiter itself starts up.

    The file initially starts out with some settings in it, but what posting the contents of it will tell us, in a rather clear and complete fashion, is exactly how you have Orbiter configured, so for instance what settings you've asked Orbiter to run with for Video mode, and what modules you have active, et cetera. This is more efficient than us asking you twenty different questions about how your Orbiter is configured.

    To find the file, you might need to break Windows of an annoying habit first, which is to hide file extensions for file types it knows. Otherwise, all you'll see in the folder window is three files called Orbiter, one of which with a deltaglider icon which is Orbiter.exe.

    If this is the case, and you're on Windows XP or before, then go to "Tools -> Folder options", and within there go to "View", and deselect the option which says "Hide file extensions for known file types". If you're uncomfortable changing settings like this, you can quite simply change it back again by going back here and turning the option back on once you've got the file you're after.

    If you're on Windows Vista or later, then Explorer should tell you what you need to know already, if you're in the right view mode. Visual aids incoming:

    OrbiterFolder.png


    Here you can see I've chosen to view the file extensions anyway, but even if you haven't, Explorer is telling you what files are what in the "type" column. If your folder doesn't look like this, change the view modes by hitting the arrow to the right of this button:

    viewoption.png


    And choose "Details" from the list.

    viewoption2.png


    Then, you can clearly see that the file you're after, Orbiter.cfg, is being pointed out to you as a CFG file called Orbiter. That's the one we're after. Open it with a text editor (Notepad will work fine), select everything (hold control and press A), copy it (CTRL + C), and paste it into your post. (CTRL + V).

    You might notice this is rather a lot of information all of a sudden. If you submit the post like that, it'll be really long! To avoid taking up so much space, you can wrap the text in [code][/code] BBCode tags, which will put it in a box and let it scroll within your post. To do this, you can either: Type the tags yourself, and paste the text between them manually; Or, paste the text in, highlight everything you pasted, and press the grey "Code" button on the editor toolbar. That will wrap it up so that it doesn't run off the screen.

    Example:
    Code:
    ; === ORBITER Master Configuration File ===
    
    ; === Subdirectory locations
    ConfigDir = .\Config\
    MeshDir = .\Meshes\
    TextureDir = .\Textures\
    HightexDir = .\Textures2\
    ScenarioDir = .\Scenarios\
    
    ; === Logical parameters ===
    FlightModel = 1
    DamageModel = 1
    InstrumentUpdateInterval = 0.01
    GenericMFDSize = 6
    PanelScale = 1
    PanelScrollSpeed = 300
    FocusFollowsMouse = TRUE
    StartPaused = FALSE
    ShutdownMode = 1
    
    ; === Physics engine ===
    LinPropStages = 4
    LinPropStage0 = 2 0.5
    LinPropStage1 = 4 20
    LinPropStage2 = 6 100
    LinPropStage3 = 8
    AngPropStages = 4
    AngPropStage0 = 2 1 0.0174533
    AngPropStage1 = 4 10 0.0698132
    AngPropStage2 = 6 100 0.174533
    AngPropStage3 = 8
    AngPropSubsampling = 100 0.349066
    AngPropLimits = 0.523599 62.8319
    
    ; === Visual parameters ===
    AmbientLevel = 12
    EnableShadows = TRUE
    EnableVesselShadows = TRUE
    EnableClouds = TRUE
    EnableCloudShadows = TRUE
    EnableNightlights = TRUE
    EnableWaterReflection = TRUE
    EnableSpecularRipples = TRUE
    EnableHorizonHaze = TRUE
    EnableDistanceFog = TRUE
    EnableSpecularReflection = TRUE
    EnableReentryFlames = TRUE
    EnableParticleStreams = TRUE
    MFDTransparent = FALSE
    PlanetMaxPatchLevel = 14
    PlanetPatchRes = 1
    PlanetHipatchAperture = 0.1
    PlanetPreloadMode = 0
    PlanetAnisoMode = 8
    PlanetMipmapMode = 2
    PlanetMipmapBias = -0.2
    StarPrm = 0 6.5 0.1 0
    NightlightBrightness = 0.7
    Planetarium = 4480
    Bodyforces = 60 1 1
    CoordinateAxes = 4 1 1
    
    ; === Camera parameters ===
    CameraPanspeed = 100
    HUDColIdx = 0
    
    ; === Joystick parameters ===
    JoystickIndex = 0 ; (disabled)
    JoystickThrottleAxis = 2
    JoystickThrottleSaturation = 9500
    JoystickDeadzone = 2500
    IgnoreThrottleOnStart = TRUE
    
    ; === Demo parameters ===
    DemoMode = FALSE
    BackgroundImage = FALSE
    BlockExit = FALSE
    MaxDemoTime = 300
    MaxLaunchpadIdleTime = 15
    
    ; === Record/play parameters ===
    RecordTimewarp = FALSE
    ReplayTimewarp = FALSE
    ReplayFocusEvent = FALSE
    ReplayCameraEvent = FALSE
    SystimeSampling = TRUE
    PlaybackNotes = FALSE
    
    ; === Font parameters ===
    DialogFont_Scale = 1
    DialogFont1_Face = Arial
    
    ; === Device settings ===
    DeviceForceEnum = TRUE
    DeviceIndex = 4 ; do not edit manually
    ModeIndex = 9 ; do not edit manually
    Fullscreen = TRUE
    Stereo = FALSE
    NoVSync = TRUE
    StencilBuffer = TRUE
    WindowWidth = 800
    WindowHeight = 600
    
    ; === Multiplayer parameters ===
    
    ; === Misc ===
    LPadRect = 136 99 686 608
    ; === Active plugin list ===
    ACTIVE_MODULES
      Framerate
    END_MODULES

  9. Orbiter.log

    Never underestimate this file. It is very, very important if you're having an issue with Orbiter. Why? Well, while Orbiter loads up, everything it does, and consequently every problem it encounters, are written into this file and saved so that you can take a look afterwards and (hopefully!) fix the problem. The trouble is, if you're not used to the language it uses, the file can be a little hard to understand.

    Chances are almost 100% that we need to see this file to help you. Even if it doesn't tell us the answer right away, some of the things it doesn't tell us are helpful too, and seeing it can help us immediately rule out what the problem isn't.

    For instructions on finding the file, see the pictures and guidelines in the previous item. You'll note that the Orbiter.log file is classed as a "text document" if you're relying on Windows Vista / 7 like that - that's the one. Open it up with a text editor (again, notepad will work fine).

    To be sure you have the right file here, take a look at the first line. If it looks like this;

    Code:
    ; === ORBITER Master Configuration File ===

    Then you've picked Orbiter.cfg by accident. Try the other text file called Orbiter. If, however, it looks like this;

    Code:
    **** Orbiter.log

    Then you've got the right file.

    And... uh, if it looks like this...

    orbiterexenotepad.png


    Then what you've gone and done is opened Orbiter.exe in notepad. Close it and don't save any changes.

    Once you've got the right file, paste it in and wrap it in code tags like before. Orbiter.log files can get very long.

  10. Addons

    While we can see from the files above what modules you have enabled in Orbiter, it's really helpful for us to know what addons you've installed into Orbiter itself regardless. Sometimes addons don't include a module, so they don't feature in the list, for example, and there are other reasons why they might not appear in those files too.

    What is also important for you to try, before asking for help if possible, is testing out your problem on a clean install - this means doing the following:
    • Unpack a fresh copy of whichever Orbiter version you're having the problem with to a different folder on your hard drive. I use the Desktop for this sometimes, but you can put Orbiter anywhere, so your My Documents folder would do.
    • Configure Orbiter like you had it set up in the other install.
    • Install only the addons needed to replicate the problem. For instance, if you're having a problem with the DGIV, then you'll need to install Orbiter Sound and the DGIV and no other addons.
    • Run the same scenario, if possible

    If the problem persists, that is if it happens again, then carry on and post. If not, then what's happened is some other addon you have installed is fighting with the addon you're trying to play with. There's no easy way to get around this, but you can try adding in addons to this test install one-by-one, testing after each install, until you break it. This will tell you which addon broke your install.

    A note about the XR fleet.

    Dbeachy1, who wrote the XRs, says a lot of the time that the XR fleet are particularly vulnerable to other addons corrupting memory. This happens when a different addon tries to use memory which the XRs were busy using themselves. This is not a problem with the XRs themselves, but with the other addons, and it is not a problem that he can fix.

    This explains it better:

    First, please be sure you are testing with the latest XR version of your ship (click here for more information). If you're getting CTDs even with the latest XR version, read on: In a nutshell, XR vessels allocate a fair amount of memory and use a large number of C++ objects. The vast majority of Orbiter add-ons, OTOH, take a simpler "use large switch statements in several large methods" approach that most of Orbiter SDK samples use (which makes perfect sense for sample SDK code, BTW).

    So, when an add-on overwrites memory that it did not allocate, the bug is harmless unless some other add-on has already allocated and is using that memory. So if you have five add-ons that only allocate a handful of C++ objects, they are using much less of the memory heap than an XR vessel that allocates several hundred C++ objects, and so they are much less sensitive to memory corruption bugs. It's frustrating, I know, but all you can do is narrow down the add-on(s) that cause your CTDs and not install them.

    EDIT:
    One more thing I should add: one of the XR tests I do here is load up Orbiter under the Visual Studio debugger with the debugger's memory heap checks enabled and then run a scenario with 6-8 XR vessels (XR1/XR5/XR2 mix) in Earth orbit. Then I bounce around between the vessels and switch between 2D panels, VC, etc. in order to test for any XR memory bugs. It's a pretty brutal test. :)

This isn't an exhaustive list, but hopefully by reading at least some of it you've got some idea of what we need to see in a problem report thread if you want actual help with your issue. Making sure your post includes all of the information saves the first five posts of your thread (should you make one) being about finding and posting the information we require.

Here's hoping this was of assistance.

One last note

If you made a thread and got linked here, it's most likely because your post didn't have the right information in it. Please look through and provide the information in your next post so we can get you flying again quickly.
 
Last edited:

Tex

O-F Administrator
Administrator
Retired Staff
Tutorial Publisher
Joined
Oct 16, 2007
Messages
6,574
Reaction score
67
Points
123
Location
Houston
Website
youtube.com
Thanks Xyon! Excellent post here, promoted to an article with a permanent sticky redirect left behind in the General Questions & Help forum.

Its funny I was discussing with the staff about writing something similar, but this is way better than what I would have come up with. Saved to favorites for easy linking when new members post the same questions that's been asked and answered 100 times already. :)
 
Status
Not open for further replies.
Top