Installing a DODS-Server with RCBot2 from scratch with SteamCMD on LINUX, A (hopefully) helpful Tutorial for Beginners |
Installing a DODS-Server with RCBot2 from scratch with SteamCMD on LINUX, A (hopefully) helpful Tutorial for Beginners |
n0nnie |
Oct 30 2014, 01:21 PM
Post
#1
|
Member Group: Members Posts: 35 Joined: 27-October 14 Member No.: 2,361 |
Because this Forum gives a hell on writing Tutorials for Beginners, I decided to write one. I had a very hard time to get RCbot2 running on my Ubuntu 12.04 Server as dedicated Server. After 6(!) Hours of googleing, trying and raging I was finally able to get it to work. Now I will give an "overall" Tutorial for beginners.
Why me? Nobody else seems to take care of. What makes me so good for it? I am an "all by my self" learner. I started doing Servers 17 years ago for Quake2 and never stopped it since. Only the game changed ^^ What this Tutorial will not be Your mother. I am assuming you have an ftp or sftp access and a working SSH connection to your server. Also Steamcmd should work for you. If this is a problem I can write a steamcmdpart also. Language I am from Germany, so I am not a native Englishspeaker. So some mistakes in Grammar and spelling can occur. If someone feels to correct my spelling, please do and pm me =) Getting started with downloading First you need some files. Download them all, I will rely on them in this Tutorial: Latest RCbot2 (here it is 0.94 Latest Linux Build .so Creating User I am a one user for all servers person but RCbot2 requires different users for different servers. To be exactly: Every Server with RCbot2 needs its own User with own Homedirectory! If you just want to run one Server with bots, then forget this. If other wise then we start from scratch. Go to your Terminal and create user! CODE Type: sudo adduser dodserver --ingroup sudo This will create a user called dodserver who got the group sudo. Do not care about the group. You can make your own group if you want. For the group sudo we do not have to edit sudoers Now you want to give the user a password? CODE Type: sudo passwd dodserver Give the user a password, tell this nobody ^^ Login in as your new user. Maybe another "Tab" [ALT + F1 - 6) will be useful. Steamcmd Now I will tell you quick how to setup a DODSserver. I will not tell you how to install Steamcd! Go here to learn about installing HINT: I always install new servers as root-user. Why? No permissionconflicts and I am a "lazy" bastard. If you do not, then forget the chownstep^^ CODE Type: ./steamcmd.sh login anonymous force_install_dir YOURPATH app_update 232290 validate (on first install validate is not needed. I just type it always. It does no harm, so why not ^^ ) Now you have to wait exit chown If you have installed your DODSserver as root, then you have to make your dodserver user the owner of the serverfiles. Why? Because! Read about this in another Tutorial or the Manual of Ubuntu! In terminal go to the Folder, where your Serverfolder is in. The Serverfolder contains Folders and Files. Folders are marked with (+): CODE (+)adf0c2279f5c06d2e0e5aef8b72595db3408bde8 (I do not know if this is always the same number ^^ ) (+)bin (+)dod (+)hl2 (+)platform srcds_linux srcds_run steam_appid.txt thirdpartylegacynotices.txt CODE Note: For better telling I am using this example: Pathes: homedir: ./home/dodserver serverdir: ./server/dodserver (why not in home? Just for showing how RCbot2 works ^^ ) User: dodserver CODE Type: sudo chown -R -v dodserver:sudo dodserver This will make The user dodserver with its group sudo to the owner of the folder dodserver and its subfolders. CODE Type: chmod -R -c 775 dodserver This will give all Files and Folders 775 permissions. 777 will not be needed. Google "chmod 777" if you want to learn more about this! Running Server first time Go to ./server/dodserver CODE Type: nano This will open a Texteditor. Write in this: CODE #!/bin/sh echo "starting dod" sleep 1 screen -A -m -d -S dod ./srcds_run -console -game dod +maxplayers 32 -ip YOURIP -port 27334 -tick 66 +plugin_load ../bin/HPB_bot2_i486 +map dod_donner Save it as start.sh in your folder. In my example ./server/dodserver Now make it executeable: CODE Type: chmod +x start.sh Run your server: CODE Type: ./start.sh If you have not installed screen before, then do it know (an error will occur then) CODE Type: sudo apt-get install screen Now redo ./start.sh it will execute and tell you, that you have a screen session running. Type: screen -x dod If you are not sure, what name you have given your screen process you can type screen -ls and a list will apear. Now server will run. If not, then troubleshoot. Google for errormessages that might ouccur. Uploading and running RCbot2 Now the interesting Part is coming! Go to ./home/dodserver CODE Type: cd $home Make a folder called RCBot2 CODE Type: mkdir RCBot2 Now open RCBot2_XXX.zip and upload the folders to ./home/dodserver: config profiles waypoints Open bot_mods.ini in folder config and write at the end of it: CODE mod = DOD steamdir = dodserver gamedir = dod bot = DOD Go to the folder ./home/dodserver/RCBot2/waypoints and delete team fortress 2 and half-life 2 deathmatch folder. Rename day of defeat source to dodserver. I assume you have done renaming and uploading with a SFTP-Client like filezilla. Now go to ./home/dodserver in your terminal! CODE Type: sudo apt-get install dos2unix dos2unix RCBot2 chown -R -v dodserver:sudo RCBot2 chmod -R -c 775 RCBot2 Dos2unix is a good little programm to change the Coding from DOS to Unix Format. This will prevent errors like "Edit your bot_mods.ini" =) Now upload the HPB_bot2_i486.so which is corresponding to your Botversion, you downloaded before to ./server/dodserver/bin Start your server again and type: CODE rcbotd If RCBot2 is running, you will get something like this: CODE [RCBot] [rcbot] [RCBot] [waypoint] [RCBot] on [can't use] [RCBot] off [can't use] [RCBot] add [can't use] [RCBot] delete [can't use] [RCBot] info [can't use] [RCBot] save [can't use] [RCBot] load [can't use] [RCBot] clear [can't use] [RCBot] givetype [can't use] [RCBot] drawtype [can't use] [RCBot] angle [can't use] [RCBot] updateyaw [can't use] [RCBot] setarea [can't use] [RCBot] setradius [can't use] [RCBot] menu [can't use] [RCBot] cut [can't use] [RCBot] copy [can't use] [RCBot] paste [can't use] [RCBot] shiftareas [can't use] [RCBot] teleport [can't use] [RCBot] setareatonearest [can't use] [RCBot] show [can't use] [RCBot] check [can't use] [RCBot] showvis [can't use] [RCBot] autowaypoint [can't use] [RCBot] autofix [can't use] [RCBot] addbot [RCBot] control [RCBot] [pathwaypoint] [RCBot] on [can't use] [RCBot] off [can't use] [RCBot] enable [can't use] [RCBot] disable [can't use] [RCBot] create1 [can't use] [RCBot] create2 [can't use] [RCBot] remove1 [can't use] [RCBot] remove2 [can't use] [RCBot] deleteto [can't use] [RCBot] deletefrom [can't use] [RCBot] createfromto [can't use] [RCBot] removefromto [can't use] [RCBot] [debug] [RCBot] gameevent [can't use] [RCBot] bot [can't use] [RCBot] nav [can't use] [RCBot] vis [can't use] [RCBot] think [can't use] [RCBot] look [can't use] [RCBot] hud [can't use] [RCBot] aim [can't use] [RCBot] bot_goto [can't use] [RCBot] bot_flush [can't use] [RCBot] task [can't use] [RCBot] givetask [can't use] [RCBot] buttons [can't use] [RCBot] speed [can't use] [RCBot] usercmd [can't use] [RCBot] util [can't use] [RCBot] profiling [can't use] [RCBot] edicts [can't use] [RCBot] printprops [can't use] [RCBot] getprop [can't use] [RCBot] findclass [can't use] [RCBot] findclassname [can't use] [RCBot] findprop [can't use] [RCBot] memoryscan [can't use] [RCBot] memorycheck [can't use] [RCBot] printcommands [RCBot] [config] [RCBot] event_version [can't use] [RCBot] max_bots [RCBot] min_bots [RCBot] kickbot [RCBot] [users] [RCBot] show [RCBot] [util] [RCBot] search [can't use] [RCBot] set_teleport [can't use] [RCBot] teleport [can't use] [RCBot] noclip [can't use] [RCBot] god [can't use] [RCBot] notouch [can't use] [RCBot] bot command not found Now when you have got Bots working you might configure them a little bit. Go to ./home/dodserver/RCBot2/config and open config.ini This looks like this: CODE # RCBot2 Config generated by RCBot2 Launcher rcbot_defrate 0.19 //rate for bots to defend rcbot_skill 0.60 //General difficulty of the bots. 0.5 = stock, < 0.5 easier, > 0.5 = harder rcbot_anglespeed 0.25 // smaller number will make bots turn slower (1 = instant turn but may overshoot) rcbot_avoid_radius 80 //radius in units for bots to avoid things rcbot_avoid_strength 100 //strength of avoidance (0 = disable) rcbot_aimsmooting 1 // (0 = no smoothing) rcbot_change_classes 1 //bots change classes at random intervals rcbot_taunt 0 //TF2! - enable/disable bots taunting rcbot_messaround 1 //bots mess around at start up rcbot_meleeonly 0 //unknown command, forget this ^^ rcbot_move_obj 1 //TF2! if 1 rcbot engineers will move objects around rcbot_min_cc_time 60 //minimum time for bots to consider changing class <seconds> rcbot_max_cc_time 240 //maximum time for bots to consider changing class <seconds> rcbot_runplayer_hookonce 1 //function will hook only once, if 0 it will unook and rehook after every map rcbot_runplayer_cmd_dods 417 //offset of the DOD:S PlayerRunCommand function might change sometimes after an update rcbot_runplayer_cmd_tf2 417 rcbot_scoutdj 0.5 //TF2 rcbot_voice_cmds 1 //TF2 rcbot_heavyaimoffset 0.1 //TF2 rcbot_move_sentry_time 120 //TF2 rcbot_move_sentry_kpm 1 //TF2 rcbot_move_disp_time 120 //TF2 rcbot_move_disp_healamount 100 //TF2 rcbot_move_tele_time 120 //TF2 rcbot_move_tele_tpm 1 //TF2 rcbot_move_dist 800 //TF2 You can add rcbotd config max_bots NUMBER to edit, which number of bots will join. The rest are GLOBAL settings, that can be get overwritten by Profilefiles in ./home/dodserver/RCBot2/profiles If you want to edit Profiles, then look here for a detailed view. You might be facing, that Bots are ignoring Profiles. If so you do not have to worry about the names. A simple Sourcemodplugin can solve this Now I think I am done. Please tell if I have missed something important =) [b] |
Cheeseh |
Oct 30 2014, 01:28 PM
Post
#2
|
Admin Group: Admin Posts: 3,066 Joined: 11-September 03 From: uk Member No.: 1 |
thanks. pinned
don't really have the time to do this. |
n0nnie |
Oct 30 2014, 01:35 PM
Post
#3
|
Member Group: Members Posts: 35 Joined: 27-October 14 Member No.: 2,361 |
|
madmax2 |
Oct 30 2014, 04:30 PM
Post
#4
|
RCBot Guru Group: Waypointers Posts: 957 Joined: 2-March 12 From: USA, WA state Member No.: 2,162 |
And you are not the only one arround here to do this Cheeseh. I was wondering why the hell nobody does this and I felt like giving something back to thank you for this great Bots. Right on! Thanks for sharing, and taking the time to contribute. Oh, and welcome to RCbot forum... |
n0nnie |
Oct 31 2014, 06:30 PM
Post
#5
|
Member Group: Members Posts: 35 Joined: 27-October 14 Member No.: 2,361 |
|
Lo-Fi Version | Time is now: 2nd November 2024 - 08:59 PM |