ป้ายกำกับ

วันศุกร์ที่ 20 พฤษภาคม พ.ศ. 2554

* Multiple Server Setup Guide * (CS:S dedicate Server

* Multiple Server Setup Guide *

If you would like to support multiple servers/configs running on the same host, there are a few things you need to do:

  1. Launch each server on a separate port, this should be done 20 ports higher than the previous server.
    So if we have server 1 on port 27015, the next one should use port 27035.
  2. Have our server use separate configuration files (This includes server config and mapcycle/motd files, if desired).
Introduction
We are going to create in this example two servers. Server one will be called 'Example #1 - Dust Only' which will only run the popular Dust map, and server 2, 'Example #2 - All Maps', which will run every map in our rotation.
Each of these two servers will have a different map rotation and configuration file, and both will be running CS: Source.
To have this guide work for hl2 deathmatch servers, simply replace references to 'cstrike' with 'hl2mp'.

Important: You must either DELETE cstrike/cfg/server.cfg from your servers game directory in order for this setup to work correctly, OR, have the files contents only contain:


Code:
exec banned_ip.fg
exec_banned_user.cfg
Or any other generic commands that would be executed on all servers.

This is because server.cfg is executed on every map change by srcds, and you cannot tell srcds NOT to execute the file, so to prevent settings in this file overwriting our multiple server config files, we either delete the file itself, or just leave the banned commands in (so the banlists are executed on map change).

It is best to just erase the file and leave:


Code:
exec banned_user.cfg
exec banned_ip.cfg
In the file, so any changes to the banfile contents will be re-read on map change if the contents are changed.

It is also safe to simply delete this file, but you will not have the benefit of the banned list files being re-read on each map change.

Step 1
If not already done, delete cstrike/cfg/server.cfg

Step 2
Now we create server 1's configuration file. Create a new file called server1.cfg in cstrike/cfg (So its accessable in cstrike/cfg/server1.cfg).

Heres what it looks like in our example:
Items in bold you should take note of, as you should change these values in each config file you make for multiple servers.


Code:
// server name
hostname "Example #1 - Dust Only"

// server admin (rcon) passsword
rcon_password "adminpass"

// server join password
sv_password ""

// Advanced RCON
sv_rcon_banpenalty 15
sv_rcon_maxfailures 5
sv_rcon_minfailures 5
sv_rcon_minfailuretime 30

// server cvars
mp_footsteps 1

// only allow 1 player difference between teams
mp_limitteams 1
mp_autoteambalance 1

mp_autokick 0
mp_flashlight 1
mp_tkpunish 1
mp_forcecamera 0
sv_alltalk 0
sv_pausable 0
sv_cheats 0
sv_consistency 1
sv_allowupload 1
sv_allowdownload 1
sv_maxspeed 320
mp_limitteams 2
mp_hostagepenalty 5
sv_voiceenable 1
mp_allowspectators 1
mp_chattime 10
sv_timeout 65

// round specific cvars
mp_freezetime 4
mp_timelimit "25"

mp_roundtime "3"
mp_maxrounds "20"
mp_startmoney "800"
mp_c4timer "45"
mp_fraglimit 0
mp_maxrounds 20
mp_winlimit "10"
mp_playerid 0
mp_spawnprotectiontime 5
mp_friendlyfire "0"

// bandwidth rates/settings
sv_minrate 3000
sv_maxrate 20000
decalfrequency 60
sv_maxupdaterate 100
sv_minupdaterate 30

// server logging
sv_logbans 1
sv_logecho 1
sv_logfile 1
sv_log_onefile 0

//Specify that we want this specific servers logs placed in a folder called logs/server1
//to separate them from another servers logs
sv_logsdir "logs/server1"
log 1

// operation
sv_lan 0
// region the server should appear in under the steam browser
sv_region 0
sv_contact "www.example.com"


// map cycle for this server
mapcyclefile "mapcycleserver1.cfg"

// motd file for this server
// Note: You could simply have this as motd.txt in all config files, so that all servers share the same config file
// This is just an example so you know how to specify individual ones if necessary
motdfile "motdserver1.txt"


// execute our banned suer files
exec banned_user.cfg
exec banned_ip.cfg


// launch our starting map, in this case, de_dust
map de_dust
To review our first servers config file, we have set it up as to have:
  1. A hostname of "Example #1 - Dust Only"
  2. Place all log files for this server in the folder logs/server1 (If this directory does not exist at runtime, it will be created by srcds)
  3. Use the map cycle listed in cstrike/mapcycleserver1.cfg
    Note: Its cstrike/ not cstrike/cfg/ for map cycles and motd files)[/b]
  4. Use a MOTD (Message of the Day, the welcome screen you get when joining your server) in cstrike/motdserver1.txt (Once again, cstrike/ not cstrike/cfg/ for this file)
  5. And launch our starting map, cs_office
Next, we create this servers map cycle and message of the day screen.

Create cstrike/mapcycleserver1.cfg (As per our config file we just made) and in it we would have:

Code:
de_dust
Just one map name to cycle through, since this is our dust only server.

Next, create our MOTD file in cstrike/motdserver1.txt

Code:
Welcome to my 24/7 Dust only server!
You can use simple text based MOTDs as above, or use HTML code to create web based MOTDs.

Code:
<html>
<b>Welcome to my 24/7 Dust only server!</b>
</html>
Obviously you would use something more creative here and easier on the eye, you can include all forms of html formatting tags (tables, divs, background colours etc).

Alternativly, you can specify a URL in the MOTD file on its own line as follows:


Code:
http://www.mydomain.com/motd.html
And CS: Source/HL2: DM will actually load the file from that address given and display it to the user, so you can update your MOTD externally from your servers.

Step 3
Time to launch our newly created server.

To confirm the directory and file structure, you should have:
~/srcds_l/srcds_run
~/srcds_l/steam
~/srcds_l/cstrike/motdserver1.txt
~/srcds_l/cstrike/mapcycleserver1.cfg
~/srcds_l/cstrike/cfg/server1.cfg

Notice how only the server configuration file is in the /cfg folder, the other two files reside in the /cstrike folder.

To launch our server, now type from ~/srcds_l:

Code:
./srcds_run -console -game cstrike -port 27015 +ip 123.123.123.123 +map de_dust +maxplayers 14 +exec server1.cfg
Our command line has the following parameters:

Code:
-console
--> Enable console mode/view

-game cstrike
--> Which game we are making a server for (cstrike or hl2mp)

-port 27015
--> Which port this server should be accessable on. We are using the default of 27015 for our first server.

+ip 123.123.123.123
--> Bind IP Address of this server. This should be your external IP Address, not LAN address.
--> Having this set incorrectly could cause people not being able to join your server, or have 'RCON Not working' via HLSW or ingame console (Connection refused errors).

+map de_dust
--> Which map to start the server on, we already have this defined in our config file, but we do it again in the command line for good measure.

+maxplayers 14
--> How many players may join this server.

+exec server1.cfg
--> The almighty configuration file for this server, we tell srcds to execute this file on startup and load the servers settings.
Your dedicated server should now be operational.

To create our second server, we would repeat the above steps, but instead of creating motdserver1.txt, mapcycleserver1.cfg and server1.cfg, we would call the files motdserver2.txt, mapcycleserver2.cfg and server2.cfg

Then, we would launch the server like so:

Code:
./srcds_run -console -game cstrike -port 27035 +ip 123.123.123.123 +map de_dust +maxplayers 14 +exec server2.cfg
There are two important changes in this command line for our second server.
The -port command now has a parameter of 27035 (thats 20 ports higher than our first server, 27015).
You cannot simply have the next server one port higher, as srcds uses several ports higher for other services than its game port. 20 ports is a safe number to use.

Secondly, we now have +exec server2.cfg, telling the server to execute server2's configuration file, loading a different set of preferences and settings, map rotation and motd file.

To setup the second server, our configuration file would be the same as server1's except we would change thehostname, sv_logsdir, mapcyclefile and motdfile variables to accomodate a different set of settings.

In our mapcycle file for server 2, instead of listing just de_dust (which was our mapcycle for server #1's 'Dust only' server), we would list all of the maps on a new line such as:

Code:
de_dust
de_port
cs_office
...etc
Once the server reaches the end of the rotation, it starts from the top again.

Thats all!
I hope this guide has been helpful.

Creating a Counter-Strike: Source/Half-Life 2: Deathmatch Server Linux Setup Guide



Creating a Counter-Strike: Source/Half-Life 2: Deathmatch Server
Linux Setup Guide

- By Plasma

Step 1
Create a folder called srcds_l (Thats a lower case L for linux!), usually done in your home directory, where you want to base your server installation and have all content stored.

Step 2
Grab hldsupdatetool and put it in your srcds_l directory you just created.


Step 3
Make the hldsupdatetool executable via chmod.


Code:
chmod +x hldsupdatetool.bin
Step 4
Run hldsupdatetool - This just extracts our steam client.

Code:
./hldsupdatetool.bin
Say YES to agree to the following license prompt and your done.

Step 5
Now we will run the Steam client to download the game content.

Two game types are available:

For CS: Source, its: "Counter-Strike Source"
For HL2: Deathmatch, its: "hl2mp" (HL2 Multiplayer, not HL2DM).

To download CS: Source data files for a CS: Source server, type:

Code:
./steam -command update -game "Counter-Strike Source" -dir .
Hit ENTER and you should begin downloading the Counter-Strike Source data files in this directory (~/srcds_l).

This may take a while.

Note: Contrary to what typing ./steam on its own indicates, you DO NOT need to specify OR create a Steam account to download/update your servers.
This was originally a requirement but Valve have since removed it, and the help information has just not been removed from the Linux Steam client.

Once its finished, you will be able to then launch your dedicated server, this will create our initial config file and test everything is ok.

Step 6
Launching a dedicated server. We will launch a server with no determined config to see if everything was successful, and to create an initial config file in cstrike/cfg/server.cfg

Using our example from Step 5, to launch a CS: Source server you type:

Code:
./srcds_run -console -game cstrike -port 27015 +ip 123.123.123.123 +map de_dust +maxplayers 14
Replace 'cstrike' in the above launch command with 'hl2mp' (MP! Not DM) to launch a HL2 Deathmatch server.

Be sure to replace 123.123.123.123 with the EXTERNAL IP you want your server to bind to, not the servers Internal/LAN IP.

Congradulations, your server should now be running!

Step 7
Edit your server configuration to your liking in cstrike/cfg/server.cfg
If it does not exist, create it.

Note: Read the following post in this thread if you would like to know how to setup multiple servers on the same host.

Additionally, you may want to launch your server as follows:

Code:
screen -S css ./srcds_run -console -game cstrike -port 27015 +ip 123.123.123.123 +map de_dust +maxplayers 14
To place the server in a screen session you may detach from once its launched, or place the line in start_server.sh and exeucte it from the command line.

Step 8
Once your all set, in the event a Steam/game update has been released, you will need to update your hlds installation.
To do this, simply run the command we used in Step 5 to initially download our content:

Code:
./steam -command update -game "Counter-Strike Source" -dir .
This will update all files if needed in your installation directory to their latest versions.

Adding a cronjob for this command may be wise so you do not have to constantly remember to update your servers, and that they would be up to date within 24 hours of an update if scheduled to run daily.

ClearOS 5.2 Install Development Tools

# Get yum ready
yum clean all
yum update

# Install Development Tools
yum groupinstall "Development Tools"

วันพฤหัสบดีที่ 5 พฤษภาคม พ.ศ. 2554

การ setup mikrotik เป็น pppoe client และ sharenet

ขั้นแรกต้อง set Adsl Modem ให้เป็น bridge mode ก่อนนะครับ

จากนั้น เปิดโปรแกรม winbox เชื่อมต่อไปยัง mikrotik

ล้างค่า config ทั้งหมด โดยใช้คำสั่ง
> system  reset
จากนั้น ยืนยันโดยการกด y รอสักพัก แล้ว เชื่อมต่อ mikrotik อีกครั้ง ด้วย winbox

เมื่อ connect ได้แล้ว ให้เปิด terminal ขึ่นมาเพื่อใช้ คำสั่ง cli

ในที่นี้ ผมต่อ ether1 ไปที่ modem และ ether2 ไปที่ pc
ทำการเปิดใช้งาน ether ทั้ง 2 โดยใช้คำสั่ง

/interface enable ether1,ether2

จากนั้นเพิ่ม pppoe-client และใส่ username/password ของ adsl เรานะครับ ตามคำสั่งด้านล่าง


/interface pppoe-client 
add interface=ether1 user="ีuseradsl@3bb" password="passwor-adsl" \
add-default-route=yes use-peer-dns=yes disabled=no

จากนั้นลองตรวจสอบดูว่า เชื่อมต่อได้หรือยัง ใช้คำสั่ง

/interface pppoe-client monitor pppoe-out1
        status: "connected"
        uptime: 14m58s
     idle-time: 0s
  active-links: 1
  service-name: ""
       ac-name: "KKNBS02"
        ac-mac: 00:25:9E:4D:56:03
           mtu: 1480
           mru: 1480
ถ้า status: "connected" แสดงว่าเชื่อมตอได้แล้ว ครับ

เสร็จแล้ว ก็ไปตั้ง ip ฝั่ง lan คือ ether2 ตามนี้
/ip address add address=192.168.88.1/24 interface=ether2

เสร็จแล้วต้อง set firewall 
/ip firewall nat add chain=srcnat src-address=192.168.88.0/24 action=masquerade

/ ip firewall filter
add chain=input connection-state=established comment="Accept established connections"
add chain=input connection-state=related comment="Accept related connections"
add chain=input connection-state=invalid action=drop comment="Drop invalid connections" 
add chain=input protocol=udp action=accept comment="UDP" disabled=no 
add chain=input protocol=icmp limit=50/5s,2 comment="Allow limited pings" 
add chain=input protocol=icmp action=drop comment="Drop excess pings" 
add chain=input in-interface=ether2 src-address=192.168.88.0/24 comment="From our LAN" action=accept
add chain=input action=log log-prefix="DROP INPUT" comment="Log everything else"
add chain=input action=drop comment="Drop everything else"

กำหนด firewall masquerade เสร็จ ก็ต้อง set dhcp server
/ip dhcp-server setup
/ip dns set allow-remote-requests=yes

จากนั้น ก็ ไป renew ip ของ lan card เรา แล้วก็ลองเข้า  net ดู


ข้อมูลจาก "http://wiki.mikrotik.com/wiki/How_to_Connect_your_Home_Network_to_xDSL_Line"