❶ 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列表形式,方便快捷