❶ cs1.6怎麼建伺服器
一、前言
經常看到許多網友求伺服器架設的教程,我也曾經找過,不過感覺還是解答中的liushaokun的教程比較有參照價值,大家再讀玩我這篇文章若還有更深層次的要求,可以查詢參閱。
首先說明,經常看到網上steam伺服器,no-steam伺服器,對此我的理解是:對於客戶端,你可以說有steam和no-steam之分,但對於伺服器端,我認為沒有steam和no-steam之分。這也是我寫這篇文章的前提和出發點。
如果我的理解有問題(主要是我沒有測試過steam對伺服器影響),大家盡管批評指正,以利於共同學習
二、准備工作:
對於想建立互聯網上的伺服器的朋友,你需要一個合法的公網IP,對於想建立區域網伺服器的朋友,並沒有什麼要求。我這時主要以既想將伺服器在區域網中使用又想將伺服器在互聯網上使用為主線進行闡述。
對於公網的IP要做好對內網IP的埠映射(NAT)。
三、下載伺服器主程序
對於想建立純凈伺服器的朋友,你需要一個帳號,或申請一個帳號(下面假定帳號為:cs16server,帳號密碼為:hldsdown)
下載一個hldsupdatetool.exe工具
1、建立一個伺服器使用的文件目錄假設為D:\CS16Server
2、拷貝hldsupdatetool.exe工具到這個目錄下。
3、第一次運行時使用如下命令:(或將下面一行寫入批處理文件)
hldsupdatetool.exe -command update -game cstrike -dir D:\CS16Server -username cs16server -password hldsdown -remember_passwordd
這一步會向伺服器提交並檢驗帳號和密碼,如果運行成功,沒有出現文件下載過程,請執行第二次命令。
4、由於上個命令已經將帳戶和密碼記錄進當地文件夾中一個文件中,因此在第一次沒有連接成功時(應該可以一次成功,至少我是這樣的,但也不能太相信他們的伺服器了)可以執行第二個命令
hldsupdatetool.exe -command update -game cstrike -dir D:\CS16Server
這個命令同時用來升級伺服器時使用。
5、如果沒有錯誤,你應該可以看到下載文件的過程了,這個過程比較慢長,要耐心等待。
6、下載完成後,自動退出升級程序。
四、進行伺服器運行前的配置:
本教程暫以沒有任何插件來說明如何配置:
1、要確定你准備建立幾個伺服器,這一點要根據自己硬體要求來規劃。
2、確定建立好幾個伺服器後,要針對每一個伺服器建立配置文件,如server1config.cfg,server2config.cfg...
特別說明:想建立中文伺服器名稱的朋友,你只需要將改:hostname "你想起的中文伺服器名"同時保存為utf-8編碼的文件即可。建議使用記事本編輯。
3、針對每一個伺服器規劃地圖循環文件
mapcyclefile1.txt,mapcyclefile2.txt...
4、建立自己的伺服器MOTD文件,在1.6中可以支持html格式的motd,大家只要將做好的網頁重新命名為motd.txt文件即可。
說明:motd.txt是游戲玩家進入伺服器時呈現在大家面前的伺服器介紹對話框,相信使用ESAI版做伺服器的如果沒有改動這應該是兩個圖標,一個是esai的,一個是CHN的。
5、使用hlds加相關運行參數啟動伺服器
下面是我的伺服器的運行參數,大家可以將這個寫進批處理文件,如hlserver1.bat,hlserver2.bat
hlds.exe -game cstrike -port 27022 +maxplayers 22 +map de_st2 -nomaster -insecure +servercfgfile server1config.cfg -console +sv_lan 1 +mapcyclefile mapcyclefile1.txt
如果大家想採用VAC,只需要將-insecure去掉就可以。
由於我不想使用圖形方式管理伺服器,所以加上-console,直接以控制台方式運行伺服器(與老版本一致的方式)
6、針對SV_lan 1的說明:
經常看到許多人為了使伺服器既可以在內網運行,又希望互聯網的用戶可以進入,採用雙網卡的方式,對此我要說,沒有必有。原因如下:
由於我們採用的是NAT的方式(我們可以將nat的過程理解為通道傳送過程),因此,我們在運行這個服務你就當作只在區域網運行,所以加sv_lan 1,至於互聯網的用戶只要將nat的公網ip地址加上埠加入伺服器,當他們進行訪問請求時會被NAT直接通過「通道」傳送到區域網,這時,伺服器端會馬上把這個訪問要求當做自己對伺服器的請求(呵呵,比較拗口,其實就是區域網一個客戶端的請求),就是充當伺服器的機器對自身的訪問請求。這時自然就實現內外網用戶共同要求。
什麼時候不加sv_lan 1?僅當伺服器直接裸露在互聯網中時才不需要將sv_lan 1加上,也就是說,這時你的機器直接連在互聯網上,不需要通過任何防火牆或路由器,或不需要任何NAT軟體,就可以直接訪問你的機器(最好辦法是建立WEB伺服器進行一下測試即可,建立主頁,只要其他互聯網客戶可以直接在瀏覽器中輸入你的IP地址,可以看見你的主頁)時,可以不加sv_lan 1參數。
至此一個伺服器基本完成。
❷ 如何搭建區域網伺服器
❸ 請問如何用Delphi創建客戶端和伺服器,並且將客戶端與伺服器鏈接
SQLD-IB.DLL 包含InterBase驅動程序和支持文件的動態鏈接庫SQLINT32.DLL
INTRBASE驅動類型 加在配置工具的驅動管理程序中以配置基本的Borland InterBase SQL Link驅動程序
INTRBASE別名類型 加入配置文件的別名以使建立聯接SQL伺服器資料庫的別名
SQLD_IB.HLP 配置InterBase驅動程序的幫助文件
READLINK.TXT Borland SQL Links for Windows自述文件
INTERBAS.MSG InterBase消息文件,通常安裝上C:\INTERBASCONNECT.EXE 測試工作站和InterBase伺服器連接情況的工具
REMOTE.DLL、 InterBase的支持動態鏈接庫
GDS.DLL、GDS32.DLL
將InterBase伺服器描述 安裝過程修改工作站的SERVICES文件以增加用於加入SERVICES文件 InterBase 伺服器訪問所需的協議描述 ,
如:gds- db3050/tcp
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
軟體項目中還應包括TCP/IP介面軟體
下表列出的文件給InterBase客戶端應用提供訪問Winsock1.1的介面
表18.8 TCP/IP介面軟體
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
文 件 名 描 述
————世弊————————————————————————————
MVWASYNC.EXE 非同步通信模塊
VSL.INT TCP/1P傳輸初森猛始化文件
WINSOCK.DLLWindows Socket動態鏈接庫
MSOCKLIB.DLL 將Windows Socket調用映射到VSL驅動程序
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
如果TCP/IP產品不是Winsock1.1兼容,InterBase客戶端應用將也可採用其它TCP/1P 驅動程序。InterBase伺服器還可支持其它通信協議,如SPX/1PX,NetBeIU等。
4. 解決一般的聯接問題
如果用SQL Links建立與InterBase伺服器的連接有問題可採用下列步驟來分離問題原因:
⑴ 通過Windows ISQL工具測試能否與InterBase伺服器聯接如果成功,狀態信息會出現,並繼續步驟⑵。如果不成功,詢問資料庫管理員。
⑵ 檢驗InterBase SQL Links 驅動程序是否正確安裝。
⑶ 重新安裝SQL Links。
⑷ 檢查SERVICES,文件中應有行:
gds_db 3050/tcp
如果不能正確安裝,就請詢問資料庫管理員,否則繼續步驟⑸。
⑸ 測試底層協議
① 輸入TELNET命令,確認TCP庫是否正確安裝。
如果TCP庫正確安裝,注冊提示符會出現。注冊入網檢查資料庫是否存在。
如果消息是「can't resolve hostname」 出現,檢查工作站的HOSTS文件是否有你 的主機名和IP地址的人口。如:128.127.50.12 mis_server
如果用TELNET是成功的,但仍然無法正確聯接此返橋,則沒有正確安裝InterBase。請尋求資料庫管理員的幫助。
② PING到伺服器伺服器上,測試InterBase伺服器是否正常運行並且為桌面應用可見(如果PING是成功的,消息「servername isalive」被顯示)。PING成功但TELNET不成功,則inet daemon可能有問題。如果PING到伺服器上不成功,則有網路路徑問題,將問題報給網路管理員。
如果底層協議不正常,請詢問資料庫管理員,否則繼續幫助⑹。
⑹ 確認是否有InterBase伺服器的訪問權,如果有請繼續步驟⑺。
⑺ 檢查BDE應用程序的InterBase別名是否正確安裝。
如果能夠直接從工作站上聯接,但不能從BDE應用程序中,那麼很有可能你的
IDAPI32.CFG別名設置有問題。運行BDE配置工具檢查InterBase別名。
18.3 Delphi Client/Server編程
本節介紹如何運用Delphi可視化開發工具和ObjectPascal語言開發Client\Server的資料庫應用程序,採用的例子是CSDEMOS。這是Delphi2.0自帶的演示Client\Server開發的例子,它安裝在C:\Program Files\Borland\Delphi 2.0\Demos\DB\CSDemos中(預設安裝)。
本節將包含以下內容:
● 使用TDatabase部件連接SQL伺服器
● 用DataSet部件(又稱數據集部件),如TTable和TQuery,聯接TDatabase部件並訪問資料庫以及各種表之間如何切換
● 使用資料庫連接
● 觸發器的使用方法
● TStoredProc部件的使用方法
● 客戶和伺服器之間的事務控制
● TStoredProc部件的使用方法
18.3.1 使用TDatabase部件聯接SQL伺服器
18.3.1.1 TDatabase部件概述
TDatabase部件處理應用程序與單個資料庫的聯接。如果不需要控制資料庫聯接,可以不用創建TDatabase部件。當應用程序試圖打開資料庫表(Table)時,會自動創建一個臨時的TDatabase部件。但如果你想控制資料庫的持續聯接、進入資料庫伺服器的注冊和資料庫別名的值或事務控制,那麼你就必須為每個所需的聯接創建一個TDatabase部件。
1. 創建TDatabase部件
TDatabase 部件在Component Palette中的Data Access頁上,你能將其拖放在數據模塊(Data mole)或窗體中。在設計時創建TDatabase 部件,用戶可以設置初始值和編寫OnLogin事件處理過程(Event Handle)。OnLogin事件給用戶提供了第一次注冊資料庫伺服器時定製伺服器安全參數,如口令,的能力。
2. TDatabase的關鍵屬性
⑴ DatabaseName屬性
DatabaseName是所要聯接的資料庫名,並且用於DataSet軟體,它將出現在DataSet部件的DatabaseName屬性的下拉式列表框中。設置DataBaseName屬性是定義資料庫應用的特定別名。DataSet部件能引用該名字以取代直接使用BDE別名。當TDatabase部件的Connected屬性為True時不能修改該屬性。
⑵ AliaName屬性
AliasName是BDE配置工具定義的BDE別名的名字。TDatabase 從中獲取其預設的設置。如果設置DriveName屬性,則該屬性將被清除,如果當Connected為True時強行設置DriveName屬性將引發異常。
⑶ DriveName屬性
DriveName是BDE驅動程序,如STANDARD 、ORACLE、SYBASE、INFORMIX或INTERBASE的名字。如果設置AliasName,則該屬性值將被清除。
⑷ Params屬性
Params屬性包含了打開SQL伺服器上資料庫時所需的參數。在預設情況下,這些參數由BDE配置工具設置;用戶也可以用資料庫參數編輯器(Database Parameters Editor)修改這些參數。對於資料庫伺服器而言,Params將描述一系列的參數,如伺服器名、 資料庫名、用戶名和口令。
⑸ Connected屬性
Connected屬性指明是否建立資料庫的聯接,當應用程序打開資料庫中的一個表時Connected將被置為True;反之,關閉資料庫表,Connected將被置為False,除非KeepConnection為True。而將Connected置為True則可不需打開資料庫表即可建立資料庫聯接。TDatabase的KeepConnection屬性描述當資料庫中沒有表打開時是否維持資料庫聯連。
⑹ KeepConnection屬性
KeepConnection屬性描述當資料庫中沒有打開表時是否要保持與伺服器的聯連, 如果資料庫應用需要打開和關閉單個資料庫中的多個表時,將KeepConnection 設置為True是很有用的,那樣,即使沒有打開任何錶,應用仍能保持與資料庫的聯接,它能夠重復地打開和關閉資料庫表,而不需要重復執行聯接過程。如果KeepConnection置為False,當每次將Connected置為True,資料庫都必須執行注冊過程。
⑺ LoginPrompt屬性
LoginPrompt屬性用於控制如何處理SQL資料庫的安全性問題。如置為True,當應用程序試圖建立資料庫聯接時屏幕上將出現標准Delphi注冊對話框。用戶必須輸入正確的用戶名和口令。如果置為False,則應用程序將尋找TDatabase部件的Params 屬性中的注冊參數。下面是USERNAME和PASSWORD參數的例子:
USERNAME = SYSDBA
PASSWORD = masterkey
⑻ TransIsolation屬性
TransIsolation屬性描述SQL伺服器所有的事務控制獨立級別。 tiDirtyRead使所有修改都被返回,而不管記錄是否已被提交。tiReadCommitted將只返回提交的記錄,而提交的修改將不會在結果中反映出來。tiRepeatableRead 將只返回事務過程中最初的記錄,即使另一個應用程序將所作的修改提交。
各種資料庫伺服器可能不同程度地支持這些獨立級別,或者根本不支持。 如果需要的獨立級別不被伺服器支持,那麼Dephi將使用下一個更高的獨立級別,如下表所示:
表18.10 各類伺服器TransIsolation設置
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
獨立級別 Oracle Sybase和 InterBase
Microsoft SQL
——————————————————————————————————————
Dirty Read Read Committed Read Committed Read Committed
Read Committed Read Committed Read Committed Read Committed
Repeatable read Repeatable read Not Supported Repeatable Read
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
各個獨立級別的含義請見表18.12。
3. TDatabase的關鍵方法
⑴ StartTransaction方法
StartTransartion方法在由TaransIsolation屬性指定的獨立級別下開始事務控制。如果在一個事務已被激活的情況下調用該方法,Delphi將引發異常。
調用了該方法後,對資料庫所做的修改一直由資料庫伺服器維持到調用Commmit方法提交數據或調用Rollback方法取消修改為止。只有當聯接資料庫伺服器時,才能調用該方法。
⑵ Rollback方法
Rollback方法返轉當前事務控制,並且取消自最近一次調用StartTransaction以來對資料庫所做的所有修改。
⑶ Commit方法
Commit方法提交當前事務控制,並且將自最近一次調用StartTransaction以來所有數據修改存入資料庫。
4. TDatabase的OnLogin事件的處理
OnLogin事件的觸發條件是當聯接SQL資料庫的TDatabase部件被打開並且LoginPrompt屬性為True。使用OnLogin事件處理過程可以在運行時設置注冊參數。OnLogin 事件處理過程得到TDatabase的注冊參數數組Params,並且使用Values屬性改變這些參數。
例如:
LoginParams.Vaiues['SERVERNAME'] := 'MYSERVERNAME';
LoginParams.Values['USER NAME'] := 'MYUSERNAME';
LoginParams.Values[PASSWORD'] := 'MYAPSSWORD';
當控制從OnLogin事件處理過程中返回時,應用程序用這些參數來建立聯接。
OnLogin事件處理過程的聲明是這樣的:
TLoginEvent = procere(Database: TDatabase;LoginParam: TStrings) of Object;
property OnLogin: TLoginEvent;
TLoginEvent類型是處理OnLogin事件的方法頭。Database參數是要聯接的資料庫。LoginParams是TStrings類型的對象,包含用戶名和口令,以及打開資料庫時所用的其它參數。用戶名是形如USER NAME = John.Doe的字元串,口令是形如PASSWORD = is_Password的字元串。當OnLogin事件處理過程被調用時應當在LoginParams中加入用戶名和口令。
18.3.1.2 定製資料庫伺服器的注冊參數
大多數資料庫伺服器都包含限制資料庫訪問的安全特徵。通常,在用戶能訪問資料庫之前,伺服器都要求注冊的用戶名和口令。
如果伺服器需要注冊,在設計階段,Delphi 會在你試圖聯接時提示你,諸如在會TTable部件描述資料庫表名時。
在預設情況下,Delphi應用在打開資料庫伺服器的聯接時,顯示標准注冊對話框。如果聯接已建立,則注冊對話框不會出現。
可以用下列方法處理伺服器注冊:
1. 將TDatabase部件的LoginPrompt屬性置為True。這樣,當應用程序試圖建立資料庫聯接時,標准注冊對話框會打開。
2. 將LoginPrompt屬性置為False,在TDatabase部件的Params屬性中包含用戶名和口令參數。例如:
USERNAME = SYSDBA
PASSWORD = mosterkey
但不推薦使用該方法,因為這會危害資料庫安全
3. 使用TDatabase部件的OnLogin事件設置注冊參數。OnLogin事件得到TDatabase 注冊參數數組的拷貝,並利用Values屬性改變這些參數。如:
LoginParams.Values['SERVER NAME']:= 'MYSERVERNAME';
LoginParams.Values['USER NAME'] :='MYUERNAME';
LoginParams.Values['PASSWORD'] := 'MYPASSWORD';
當控制從資料庫注冊事件處理過程中返回時,這些參數被用來建立聯接。
18.3.1.3 建立應用程序特定的別名
TDatabase的Aliases描述了資料庫表的位置和資料庫伺服器的聯接參數。通常都是在Delphi之外,運用BDE配置工具(BDECFG32.EXE)創建別名,並且別名被存在BDE 配置文件IDAPI32.CFG中。
用戶也可以用TDatabase創建只在應用程序中可用的別名,用TDatabase創建的別名不會加進BDE配置文件中。任何DataSet部件可通過描述DatabaseName 屬性來使用這些別名。為了定製這些局部別名的參數,用滑鼠左鍵雙擊TDatabase部件或從TDatabase部件中選擇Database Editor,Delphi就會打開資料庫屬性編輯器(Database Properties Editor)。
這只是其中一部分
....更多的請點網址 http://hi..com/cloudinsky88/blog/item/451219593f31e2292834f03c.html
❹ 如何在客戶端上建立一個Socket與伺服器端連接,包括連接的函數
進入mysql,創建一個新用戶xuys:
格式:grant 許可權 on 資料庫名.表名 用戶@登錄主機 identified by "用戶密碼";
grant select,update,insert,delete on *.* to [email protected] identified by "xuys1234";
查看結果,執行:
use mysql;
select host,user,password from user;
可以看到在user表中已有剛才創建的xuys用戶。host欄位表示登錄的主機,其值可以用IP,也可用主機名,
將host欄位的值改為%就表示在任何客戶端機器上能以xuys用戶登錄到mysql伺服器,建議在開發時設為%。
update user set host = '%' where user = 'xuys';
2、 ./mysqladmin -uroot -p21century reload
./mysqladmin -uroot -p21century shutdown
3、./mysqld_safe --user-root &
記住:對授權表的任何修改都需要重新reload,即執行第3步。
如果經過以上3個步驟還是無法從客戶端連接,請執行以下操作,在mysql資料庫的db表中插入一條記錄:
use mysql;
insert into db values('192.168.88.234','%','xuys','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
update db set host = '%' where user = 'xuys';
重復執行上面的第2、3步。
❺ 基於tcp的伺服器端和客戶端怎麼建立連接
首先 客戶端向伺服器發出請求 然後 伺服器確認收到的請教,並發送信號給客戶端 最後 客戶端收到信號後, 建立連接 並開始傳送數據
❻ WINCC如何創建客戶端和伺服器端
我想你可以參考Wincc組態手冊3,伺服器與客戶端項目的創建。
❼ 我裝了個萬象網吧管理系統,我想問這個服務端和客戶端如何建立連接起來,讓服務端好控制客戶端
首先你要把4台電腦都設置仔高鏈念孫在一個網段中
然後分別安裝伺服器和客戶端
如果主機找不到並控制不了其他機器
有可能是IPX協議的問題
建念漏議卸掉原有的重新安裝
❽ Android開發中客戶端和伺服器端怎麼連接
首先你除了會安卓開發外要會javaweb或php等伺服器語言。然後給伺服器編寫對資料庫的操作和給app提供操作的介面,之後你的伺服器連接資料庫,你的app通過http等協議通過介面就能實現你想要的了。大概就是這樣的流程,一般在公司中伺服器的代碼不需要你寫。具體的不是三言兩語就能做好的,網上搜搜大神們的寫案例吧。
❾ 自己如何搭建伺服器。
1、打開控制面板,選擇並進入「程序」,雙擊「打開或關閉Windows服務」,在彈出的窗口中選擇「Internet信息服務」下面所有地選項,點擊確定後,開始更新服務。
(9)如何建伺服器與客服端擴展閱讀:
入門級伺服器所連的終端比較有限(通常為20台左右),況且在穩定性、可擴展性以及容錯冗餘性能較差,僅適用於沒有大型資料庫數據交換、日常工作網路流量不大,無需長期不間斷開機的小型企業。
不過要說明的一點就是目前有的比較大型的伺服器開發、生產廠商在後面我們要講的企業級伺服器中也劃分出幾個檔次,其中最低檔的一個企業級伺服器檔次就是稱之為"入門級企業級伺服器",這里所講的入門級並不是與我們上面所講的"入門級"具有相同的含義,不過這種劃分的還是比較少。
還有一點就是,這種伺服器一般採用Intel的專用伺服器CPU晶元,是基於Intel架構(俗稱"IA結構")的,當然這並不是一種硬性的標准規定,而是由於伺服器的應用層次需要和價位的限制。
❿ 在做區域網內的聊天系統,客戶端與伺服器端如何建立連接伺服器如何轉發客戶端A的消息給客戶端B
建議了解下OA軟體,這個其實沒必要自己弄,網上很陵鋒正多軟體,都不需要外網支持,而可以內網建立通信,一般涉基螞及到埠之類的,都是安裝軟體上自動設置,除非你的機房相當保密,那麼建議弄個辦公自動化,傳消息,那個類似郵件,在右下角會提示有新消息,一般這種用的是警用內部系統,前者OA類尺悔似QQ列表形式,方便快捷