1. Wulf

    Wulf Community Admin

    Downloading the dedicated server
    To get started we need to go download SteamCMD, this is basically a Console Client for Steam that allows us to install and update the dedicated server files using a command-line interface. Just download SteamCMD and extract the contents of the zip file to a folder. Once you've done that run SteamCMD and you'll notice that it will start downloading an update, this is just all the required files for SteamCMD to work that are being downloaded and installed. Once this is ready you should be able to access the command-line.

    steamcmd.png

    Once you're in the Steam prompt we start with logging in as Anonymous by just typing login anonymous, once you've done that you'll see a connecting message and licence info message popping up, after that the Steam> prompt re-appears.

    Now we'll set the directory where we want to install our Rust Server by using force_install_dir <path>, now that we have done this we can start downloading the Rust Server files by running the following command: app_update 258550

    Be a bit patient now since this takes a few minutes depending on your internet connection.

    app_update.png

    Once this has finished you will notice that all the dedicated server files have been downloaded to the specified path you used in the command force_install_dir earlier.

    Basic install/update script
    Code:
    @steamcmd +login anonymous +app_update 258550 validate +quit
    pause
    Adding Oxide 2 to the server
    Download the latest Oxide 2 build that is compatible with your server version first. Once you've downloaded the latest build, extract it to the folder where RustDedicated.exe is located and overwrite when prompted. This will add the required Oxide 2 files and the modified Rust files which will load Oxide 2.

    Starting the server
    Now comes the easy part, starting the server. Start by creating a file using a text editor with the below code:
    Code:
    @echo off
    RustDedicated.exe -batchmode +server.port 28015 +rcon.port 28016 +rcon.ip 0.0.0.0 +rcon.password "changeme"
    Now save this .bat file and run it, this should launch the server and a similar window should be shown:
    oxide-server.png

    Joining your server
    To join your server, launch Rust, open the in-game console with F1 and type client.connect 127.0.0.1:28015. When you want to your friends to be able to join you as well you will have to use your external IP instead, and you'll most likely need to forward the ports you set above in your router or modem settings.

    Adding players as admin/moderator
    See Admin and moderators in Rust | Oxide

    Good luck and have fun!
     
    Last edited: Feb 4, 2016
  2. So what are the plans to handle plugins for Oxide 2.0? Will there be a seperated resource section? Should we upload Oxide 2 compatible plugins as a new plugin even if its an update of an existing one? Are legacy plugins gonna be removed completely?
     
  3. Wulf

    Wulf Community Admin

    I'd say it'd be best to start fresh, treating it as a new game essentially. The old plugins could be moved to a "Legacy" section, with a notice clearly given stating that they are for the old "Legacy" Rust only.
     
  4. And so it has begun, from here on out it'll only get bigger and better. This here is the foundation!
     
  5. We don't need a GUI Patcher, its easy as pie to re-compile something and paste the new dll's directly.
     
  6. Wulf

    Wulf Community Admin

    Regardless if you want/need the GUI or not, it's still a new patcher. You can use it however you wish once it's released.
     
  7. OnTick is interesting but I can definitely see A LOT of abuse hooking that and introducing lots of lag.

    Would it be possible to potentially add some date/time methods to standardize the approach within LUA but leverage the speed of the DLL?

    i.e. instead of using ticks and timers I have a few routines in LUA which I can do timestamp checks...i.e. on my FlyTo (TP) mod I don't allow players to TP if they are within X time of conflict with players, animal, etc...or they are raiding... So when they try to /flyto I verify timestamp to see if they are out of hold period. I can see Oxide suggesting some "best practices" for common and useful activities. Especially alternatives to polling and timers.

    Thanks.[DOUBLEPOST=1412894114][/DOUBLEPOST]Have you identified any ISP's that you will be working with? I recently have been working with Blue Fang and they are absolutely outstanding!
     
  8. Wulf

    Wulf Community Admin

    GSPs can contact using the info provided on the wiki, but they shouldn't need to anymore once it is entirely open.
     
  9. despite the fact that the compilation is successful, the server will run did not work (even the console window does not appear). There arose the current folder oxide and the log file contents:
    Code:
    11:46 AM [Info] Loading Oxide core...
    11:46 AM [Info] Loading extensions...
    11:46 AM [Error] Failed to load extension Oxide.Ext.Lua (DllNotFoundException: lua52)
    11:46 AM [Debug]   at (wrapper managed-to-native) KeraLua.NativeMethods:LuaLNewState ()
      at KeraLua.Lua.LuaLNewState () [0x00000] in <filename unknown>:0
      at NLua.LuaLib.LuaLNewState () [0x00000] in <filename unknown>:0
      at NLua.Lua..ctor () [0x00000] in <filename unknown>:0
      at Oxide.Lua.LuaExtension.InitialiseLua () [0x00000] in <filename unknown>:0
      at Oxide.Lua.LuaExtension.Load () [0x00000] in <filename unknown>:0
      at Oxide.Core.Extensions.ExtensionManager.LoadExtension (System.String filename) [0x00000] in <filename unknown>:0
    11:46 AM [Info] Loaded extension Rust version 1.0.0 by thomasfn
    11:46 AM [Info] Loaded extension Unity version 1.0.0 by Oxide Team
    [/SPOILER]
    All DLL has been copied as stated in the README, checked 10 times.
    [SPOILER="Server log"]
    Fallback handler could not load library D:/server/steamapps/common/rust_dedicated/Release/RustDedicated_Data/Mono/lua52
    Fallback handler could not load library D:/server/steamapps/common/rust_dedicated/Release/RustDedicated_Data/Mono/.\lua52
    Fallback handler could not load library D:/server/steamapps/common/rust_dedicated/Release/RustDedicated_Data/Mono/lua52
    Fallback handler could not load library D:/server/steamapps/common/rust_dedicated/Release/RustDedicated_Data/Mono/liblua52
    Fallback handler could not load library D:/server/steamapps/common/rust_dedicated/Release/RustDedicated_Data/Mono/.\liblua52
    Fallback handler could not load library D:/server/steamapps/common/rust_dedicated/Release/RustDedicated_Data/Mono/liblua52
    Fallback handler could not load library D:/server/steamapps/common/rust_dedicated/Release/RustDedicated_Data/Mono/lua52
    Fallback handler could not load library D:/server/steamapps/common/rust_dedicated/Release/RustDedicated_Data/Mono/.\lua52
    Fallback handler could not load library D:/server/steamapps/common/rust_dedicated/Release/RustDedicated_Data/Mono/lua52
    Fallback handler could not load library D:/server/steamapps/common/rust_dedicated/Release/RustDedicated_Data/Mono/liblua52
    Fallback handler could not load library D:/server/steamapps/common/rust_dedicated/Release/RustDedicated_Data/Mono/.\liblua52
    Fallback handler could not load library D:/server/steamapps/common/rust_dedicated/Release/RustDedicated_Data/Mono/liblua52
    Platform assembly: D:\server\steamapps\common\rust_dedicated\Release\RustDedicated_Data\Managed\Oxide.Ext.Rust.dll (this message is harmless)
    Platform assembly: D:\server\steamapps\common\rust_dedicated\Release\RustDedicated_Data\Managed\Oxide.Ext.Unity.dll (this message is harmless)
    NullReferenceException: Object reference not set to an instance of an object
      at Oxide.Lua.LuaExtension.LoadLibrary (Oxide.Core.Libraries.Library library, System.String path) [0x00000] in <filename unknown>:0  at Oxide.Lua.LuaExtension.OnModLoad () [0x00000] in <filename unknown>:0  at Oxide.Core.Extensions.ExtensionManager.LoadAllExtensions (System.String directory) [0x00000] in <filename unknown>:0  at Oxide.Core.OxideMod.Load () [0x00000] in <filename unknown>:0  at Oxide.Core.Interface.Initialise () [0x00000] in <filename unknown>:0  at Bootstrap.Initialization () [0x00000] in <filename unknown>:0  at Bootstrap.Start () [0x00000] in <filename unknown>:0(Filename:  Line: -1)
    
    I ask very sorry for my english, used translate.google
     
    Last edited by a moderator: Oct 10, 2014
  10. Wulf

    Wulf Community Admin

    You need Microsoft Visual C++ 2012 x64 installed. http://www.microsoft.com/en-us/download/details.aspx?id=30679
     
    Last edited: Oct 10, 2014
  11. It did not help. I have installed: VC Redist in 2012 x86, VC Redist 2012 x64, VC Redist 2010 x86, VC Redist 2010 x64.
    Or need to compile again?

    Install Microsoft Visual C++ 2005-2008-2010-2012-2013 Redistributable Package (x86-x64) did not help.
     
    Last edited by a moderator: Oct 10, 2014
  12. I'm download visual studio 2013, but it can't open project files from package
     
  13. When you've cloned Oxide-2 to your desktop or downloaded the zip from github you should have a file Oxide2.sln which should open in Visual Studio 2013. You might get 1 message/error saying that it can't find a project, this would be the patcher which isn't included yet, so you can ignore that and just modify the other project properties as stated in the readme and build the solution.
     
  14. Make sure you used the lua52.dll from the dependencies folder and it's sat next to the rust server exe. It's a 64 bit dll as FPS are compiling for 64 bit now, so I guess you'll probably need the 64 bit redist. It seems to depend on msvcr110, so that would indicate you'll need the Microsoft Visual C++ 2012 x64 Redistributable Package.
     
  15. I compile all dll's, put on directories, copy lua52 and .json file next to .exe server file
    In oxide logs i see that
    2:33 PM [Info] Loading Oxide core...
    2:33 PM [Info] Loading extensions...
    2:33 PM [Info] Loading plugins...
    2:54 PM [Info] Loading Oxide core...
    2:54 PM [Info] Loading extensions...
    2:54 PM [Error] Failed to load extension Oxide.Ext.Lua (DllNotFoundException: lua52)
    2:54 PM [Debug] at (wrapper managed-to-native) KeraLua.NativeMethods:LuaLNewState ()
    at KeraLua.Lua.LuaLNewState () [0x00000] in <filename unknown>:0
    at NLua.LuaLib.LuaLNewState () [0x00000] in <filename unknown>:0
    at NLua.Lua..ctor () [0x00000] in <filename unknown>:0
    at Oxide.Lua.LuaExtension.InitialiseLua () [0x00000] in <filename unknown>:0
    at Oxide.Lua.LuaExtension.Load () [0x00000] in <filename unknown>:0
    at Oxide.Core.Extensions.ExtensionManager.LoadExtension (System.String filename) [0x00000] in <filename unknown>:0
    2:54 PM [Info] Loaded extension Rust version 1.0.0 by thomasfn
    2:54 PM [Info] Loaded extension Unity version 1.0.0 by Oxide Team
    And when i start server, no one see in console(empty).
     
    Last edited by a moderator: Oct 10, 2014
  16. Wulf

    Wulf Community Admin

    Did you install what thomasfn mentioned?
     
  17. Yes, of course, i just install Microsoft Visual C++ 2012 x64 Redistributable Package and recompile Oxide.Ext.Lua. Just has this error in logs + server console is empty[DOUBLEPOST=1412951186][/DOUBLEPOST]Without Oxide.Ext.Lua server run successfull. So.. problem with this lib, i think.
     
  18. Based on my 20+ years of developing with the Microsoft stack I would definitely NOT install multiple versions of Visual Studio in the same desktop login. If you need to support different versions of Visual Studio make separate logins, etc...

    Having multiple versions of visual studio install on your login will create A LOT of hidden problems.

    With the exception of one of my old legacy apps...I have not had any compiling issues with VS 2013...works great.[DOUBLEPOST=1412951893][/DOUBLEPOST]
    7 days to die? :)

    In other news - I noticed Garry tweeting about adding new hooks for 3rd party mapping. Any thoughts on that Thomas?[DOUBLEPOST=1412952050][/DOUBLEPOST]
    In a similar vein can we create a section for the latest Rust server files including links to the version that currently works with Oxide 2.0 alpha?
     
  19. Wulf

    Wulf Community Admin

    The Rust server files come from SteamCMD, not a downloadable package. There is no specific version it works with either other than the latest release.