Command issue

edited 2018 Sep 30 in Technical Support
Hi,

I'd like to start up a game server via command line using a response file eg, doomargs.tmp.
Which works just fine!

I have it setup to start the server like this:
doomsday-server.exe -game doom2 @doomargs.tmp

And the doomargs.tmp like this:
-deathmatch 1
-server-game-nomonsters 1
-setmap MAP07

The thing is, -deathmatch 1 works although -server-game-deathmatch 1 doesn't.
And I've been unable to get -server-game-nomonsters 1 and -setmap MAP07 to work at all.

Even if I put -nomonsters 1 or -warp 7, nothing seems to work, other than -deathmatch 1.


What am I doing wrong here?


Thanks!

Comments

  • It appears you are trying to use console commands as command line options. :smile: These are two different things. As a rule of thumb, command line options start with a dash while console commands do not.

    There are only a handful of command line options available, such as "-game". For setting deathmatch, there happens to be an option called "-deathmatch" (without any additional parameters) and "-altdeath" for deathmode mode 2.

    To execute console commands, such as "setmap MAP07" or "server-game-nomonsters 1", there are two alternatives:
    • Use the "-cmd" option that can execute arbitrary console commands during startup. For example, you could have:
      -cmd "server-game-nomonsters 1; setmap MAP07"
      
    • Or you can put all the commands in a .cfg file and then execute the file with the "-p" option:
      -p mysetup.cfg
      

    Hopefully this helps!

    (I'll update the Readme with these options, they seem to be missing for some reason...)
  • edited 2018 Oct 1
    Actually yes that helps heh, thanks for updating the readme! It seemed like there was a lot of stuff missing.

    However, I still have an issue, mainly with the doomsday-server.exe..
    It's like no matter what I do, it won't host past map01 in Doom2.
    Here's my setup:

    doomsday-server.bat:
    doomsday-server -game doom2 -p autoexec.cfg
    


    autoexec.cfg:
    net-ip-port 13209
    server-game-deathmatch 1
    server-game-nomonsters 1
    server-name "Super Awesome DM Game!"
    server-info "Free Popcorn"
    server-player-limit 4
    server-public 0
    setmap MAP02
    


    It seems everything else works, but for some reason it will continually only host map01.
    Even if I put -cmd "-warp 2" in the batch..

    ~ I've tried several other variations also of server-map, server-game-map etc.
    I'll keep trying..

    Let me know what you find out, thanks!
    Running version 2.0.3 build 2464


  • edited 2018 Oct 1
    Hi,

    To add to the above post, this MAP/level change issue only has to do with the doomsday-server.exe. The Doomsday shell seems to work fine however.

    Also the only way I can join a game I have hosted through doomsday shell is by using a doomsday.exe/client from another directory and not from the root of the currently hosted doomsday shell server. ~ otherwise I'll get an exception. ~ something about wait process.


    Here's another thing I ran into:
    I'm currently trying to figure out why, when you or I host a pwad, we'll say -file dweller2.wad, the client will display it as file.pwad.dweller2 and won't allow anyone to join the server, (something about missing) even if the pwad is sitting next to the client/doomsday exe.
    I'm guessing this is why most servers hosted only have iwads and no additional pwad hosted?

    If there is a pwad hosted though, Is there a server-allow-download option I'm not aware of where it can utilize and download this name conversion of the pwad?


    Thanks
  • When it comes to the starting map, check out this post: http://talk.dengine.net/discussion/comment/16353/#Comment_16353
    the only way I can join a game I have hosted through doomsday shell is by using a doomsday.exe/client from another directory and not from the root of the currently hosted doomsday shell server. ~ otherwise I'll get an exception.
    It might help to set a unique "-userdir" for each Doomsday client and server, so their runtime files don't conflict each other.
    If there is a pwad hosted though, Is there a server-allow-download option I'm not aware of where it can utilize and download this name conversion of the pwad?
    In 2.0, both the server and the client must have the same add-ons/mods/WADs available locally. However, in the upcoming 2.1, clients are capable of automatically downloading missing packages from the server (e.g., PWAD files).

    In the current unstable builds this feature may or may not be working, I haven't touched it in several months. :blush:
  • edited 2018 Oct 1
    skyjake wrote: »
    When it comes to the starting map, check out this post: http://talk.dengine.net/discussion/comment/16353/#Comment_16353

    Using doomsday-server.exe with batch file saying:
    doomsday-server -game doom2 -p autoexec.cfg
    

    It's still not working, in the link you posted above, it may work for Ultimate Doom but I'm running Doom2, here's my cfg:
    net-ip-port 13209
    server-game-deathmatch 2
    server-game-map 02
    server-name "Super Awesome DM Game!"
    server-game-skill 3
    server-info "Free Popcorn"
    server-player-limit 4
    server-public 0
    


    I've tried server-game-map MAP02 also but it always ends up hosting MAP01..

  • Try using these instead:
    server-game-episode 1
    server-game-map MAP02
    

    Doom 2 still technically has episodes, although there is only the one.
  • Shweet!
    That did it!
    net-ip-port 13209
    server-game-deathmatch 2
    server-game-episode 1
    server-game-map MAP07
    server-name "Super Awesome DM Game!"
    server-game-skill 3
    server-info "Free Popcorn"
    server-player-limit 4
    server-public 1
    
    This needs to be in the readme for Doom2 hosting via command line/doomsday-server.

    Thank you skyjake!
    Cheers!
  • edited 2018 Oct 2
    Ah I ran into another problem, sorry.

    Ok so I'm hosting through doomsday-server.exe and cfg above.
    Well I have it set to server-public 1 and the port is forwarded. ,.I had it hosted through DoomsdayShell last night and it broadcasted then.. but it's not broadcasting through doomsday-server.exe ~ it's only showing up as LAN in the client.
    I'll leave it running so if you see it in the list of servers, if broadcasting.

    I verified that my port is forwarded and my local ip is still the same.

    Is there another or different command for server-public 1?
    I've tried server-game-public 1.


    I'm hoping somehow I'm helping you helping me, least we'll know the commands are working as they should.


    Thanks
  • It should be enough to set "server-public 1" but you need to have "server-password" set also beforehand.

    Once the server is running and a map is loaded, it should then send announcements to the master server automatically. You can verify this by increasing the Network log verbosity level.
  • edited 2018 Oct 4
    Ah, I see.. sorry I should have replied earlier, yeah server-password needs to be there for server-public to work at all, all good though, cool!


    I had an idea about the game menu, or maybe it's a request.

    Say you go in the game menu and then the multiplayer selection, right under show taskbar.. Thing is, multiplayer just goes to the default player setup.. So here's the idea..well what if when selecting the multiplayer menu option it goes directly to [Home] > [Multiplayer] in the taskbar? ~ which shows the server list.

    And seems how the "show taskbar" is already invoked, and the game view area is scaled in the far left corner at that time. It then also goes to the default player setup menu in the scaled game view.


    Anyway, that's the only request(s) for now. :blush:



    Back to Commands...
    It seems I have all the needed ones at the moment and they're all working now! :)

    I'll let ya know if I have anymore questions though.


    Thanks man!


  • Mr.Rocket wrote: »
    So here's the idea..well what if when selecting the multiplayer menu option it goes directly to [Home] > [Multiplayer] in the taskbar? ~ which shows the server list. ... It then also goes to the default player setup menu in the scaled game view.
    Thanks for the idea. I am considering some UI layout changes when it comes to the "minimized game" mode, and the Multiplayer option is already replaced with "Player Setup" in the game options in recent builds.

    I'll keep your idea in mind.
  • Ok cool!


    And... I have another question.

    Is there a time limit and frag limit?


    Thanks!
  • The map cycling feature supports time/frag limits: https://manual.dengine.net/multiplayer/map_cycling

    I haven't tested it recently, so let me know if it doesn't work as expected.
  • Ok, I haven't tested yet, but I'm assuming something like this for setting up with Doom2:
    server-game-episode 1
    server-game-mapcycle "F:20 04"
    
    Would be map04 with a fraglimit of 20 in Doom2?
    Or...
    server-game-episode 1
    server-game-map MAP04
    server-game-mapcycle "F:20"
    
    Suggesting that mapcycle may work without invoking a map##.
    ~if the map # is already set previously.

    I'll let you know what I find out.

    Thanks!


  • The first one, "F:40 04" is the right way.

    Fun fact: The mapcycle feature was implemented long before support was added for referring to maps via the full identifier ("MAP04"), so it only takes two numbers per map and interprets those either as an E/M pair or as a two-digit map number, depending on the game.
  • So it doesn't require the server-game-episode command for Doom2 when using mapcycle?
  • Yes, server-game-episode is probably not needed with mapcycle. (But I haven't tested if it's actually working...)
  • Hi,

    Ok this is really strange..
    When before I re-installed Windows (I'm on Win10 pro 64bit) everything worked.
    Using doomsday-server.exe at command line via batch file.

    But now, no matter what I do, doomsday-server doesn't seem to work.
    With doomsday-server -game doom2 -p autoexec.cfg nothing happens, doomsday-server just closes. If I change it to doomsday-server -game doom2.wad -p autoexec.cfg, it runs, well at least shows it running in task manager, but when I go in game multiplayer, the server doesn't show in the list. what gives?

    I've tried different versions of DE from 2.0.3 and up with the same result.

    From that point I've tried a different computer with Win7 32bit.. same result.
    It must be doomsday-server?


    Doomsday Shell works though, which uses doomsday-server as its backend when hosting. doomsday-server works that way, so I'm like well that's bazaar..
    Is there something I can do to get doomsday-server to run again by its self?


    Thanks
  • When you start doomsday-server.exe, does it print any kind of log file that could explain what is the problem? You could try starting it with an option like "-userdir c:\mytestfolder" so you'll know that the log will be written to c:\mytestfolder.
  • edited 2019 Feb 17
    Well here's this but the only way I could get the doomsday.out to write was by adding -game doom2.wad instead of just -game doom2.
    My doom2 iwad is located in the bin directory.
    Application path: C:\Doomports\de\bin\doomsday-server.exe
    Version: 2.2 (unstable build 2961)
    Server instance ID: 0x52bdd6ca
    Created a new 32.0 MB memory volume.
    [Config::read] modules/Config matches version [ 2, 2, 0, 2961 ]
    Detected SteamApps path: c:\program files (x86)\steam\SteamApps\common
    Executable: Doomsday Engine 2.2.0 [#2961] (Unstable 64-bit) Feb 10 2019 18:10:26
    Command line options:
      0: C:\Doomports\de\bin\doomsday-server.exe
      1: -game
      2: doom2.wad
      3: server-game-episode
      4: 1
      5: server-game-map
      6: MAP07
      7: server-game-deathmatch
      8: 2
      9: server-game-nomonsters
      10: 1
      11: server-game-skill
      12: 3
      13: server-player-limit
      14: 8
      15: server-frag-limit
      16: 0
      17: server-time-limit
      18: 0
      19: server-password
      20: foobar
      21: server-public
      22: 1
      23: server-name
      24: Doom2 DM Server
      25: server-info
      26: Free Pop Corn!
      27: server-game-jump
      28: 1
      29: net-name
      30: Mr.Rocket
    Identified 286 data bundles in 0.2 seconds
    [Def_Read] Parsing definition files...
            [ > interpretMaterialDef] Ignoring unknown texture "system:bbox" in Material "system:bbox"
    (layer 0 stage 0): [MissingResourceManifestError] (in Textures::textureManifest) Failed to locate a
                                                      manifest matching "system:bbox"
         Ignoring unknown texture "system:gray" in Material "system:gray" (layer 0 stage 0):
    [MissingResourceManifestError] (in Textures::textureManifest) Failed to locate a manifest matching
                                   "system:gray"
    [Def_Read] Definitions:
                 4 materials
    Game could not be selected automatically
    
    Game could not be selected automatically

    I've added the path doomsday-server -iwad C:\Doomports\de\bin doom2.wad also but it didn't seem to make a difference.

    Really not sure what I'm missing here, probably something simple, I've tried pretty much everything. it seems doomsday-server just doesn't want to work for me heh.
  • Well, the "-game" option needs to be given a game ID or it won't do anything useful, so it should be "-game doom2".

    Where do you keep the IWADs? You may need to use the "-iwad" option to tell Doomsday which directory it is, e.g, "-iwad c:\games\iwads".
  • Arg, after all that double checking the commands etc it turns out:

    It seems that after resetting my firewall and re-allowing the app doomsday-server, the problem went away.
    But this wasn't just allowing an app through the firewall like any other app, as it was already allowed..
    It was actually resetting the firewall with-in Windows10 setting.. ~ basically turning it off and then selecting "restore default firewall settings".
    And then running the app (doomsday-server) again and re-allowing it again.

    I made a note of it for future use, not sure why Windows was so picky about it, something to take note of though.

    Go figure, heh.
    Anyway thanks for the help :blush:

    Oh btw my IWADs are located in my bin folder so it would have no problem finding it naturally.
  • skyjake wrote: »
    Well, the "-game" option needs to be given a game ID or it won't do anything useful, so it should be "-game doom2".
    He had to change it in order to get doomsday.out created:
    Mr.Rocket wrote: »
    Well here's this but the only way I could get the doomsday.out to write was by adding -game doom2.wad instead of just -game doom2.

    skyjake wrote: »
    Where do you keep the IWADs? You may need to use the "-iwad" option to tell Doomsday which directory it is, e.g, "-iwad c:\games\iwads".
    He provided that information:
    skyjake wrote: »
    My doom2 iwad is located in the bin directory.

  • No worries deus-ex, it was my Windows10 firewall, but the thing is in which I checked and was already allowed and yet still had an issue. When I thought it was the doomsday-server.exe after that point, it was still really an issue with my firewall..

    So in the end, not just allowing the app but, re-setting the Windows10 firewall fixed everything.
  • edited 2019 Feb 18
    You know.. I just thought of something. This doesn't explain why doomsday-server isn't working on my other computer, it's even a different o/s..
    Will investigate..


    EDIT:

    hmm.. It didn't work after resetting the firewall on my other pc like it did on the Win10 box.


    But.. ah ha!
    In this case doomsday-server wouldn't work at all until I deleted the Deng Team directory: User\AppData\Local\Deng Team\..
    And all of its contents, eg server-runtime etc..

    After that point, running doomsday-server re-created those directories and doomsday-server was now working again.. yay!

    So was it something to do with its location/permissions? or maybe more than 4 paths deep? Does the O/S not like the idea of things getting accessed there in that location?


    I'm not sure, but that's what I had to do to get it to work again on my other pc.
    Win7 32bit on that one.


    Hope this helps somewhere.

    Thanks




Sign In or Register to comment.