用于记录给学弟学妹们讲解简单的运行服务器和挂载智能体的知识
一、VMware的安装
方法一:去官网下载,然后去网上找相关的许可证
(微信公众号里的资源)
二、Ubuntu的安装
建议直接使用我发在群里的迅雷链接下,那样会快很多。
下面两个方法只是给出作为参考,不建议使用,如果使用记得看好版本,下载Ubuntu18.04.
方法一:Ubuntu官网:
企业开源和Linux | Ubuntu(中文站)
切记选择桌面系统,不要去选服务器版,服务器版没有图形界面
方法二:清华镜像源
清华大学开源软件镜像站 | Tsinghua Open Source Mirror
三、Ubuntu虚拟机的创建
相关的教程网上有许多,可相互参考着来,找了几篇供大家参考(18.04与20.04的安装过程差不多,也可以作为参考)
VMware15虚拟机安装Ubuntu18.04的图文教程_VMware_脚本之家 (jb51.net)
史上最全最新Ubuntu20.04安装教程(图文) - 知乎 (zhihu.com)
ubuntu20.04安装教程,ubuntu详细安装教程20.04 - ubuntu安装配置教程 - 博客园 (cnblogs.com)
【注意】:考虑到以后运行服务器时的速度,建议在安装时将内存尽量选大一点,电脑允许的话选择4096MB或者更高吧。磁盘大小的话选择40G或者更大。
安装完成后进入Ubuntu(我这里演示用的是Ubuntu21,所以界面看起来可能不太一样)
为了操作便捷,建议再安装一下vmware tools,可以参考下面那个链接中的方式安装,也可以自己百度一些其他的博客。关于如何知道是否安装成功vmware tools,可以尝试将自己主机中的一个txt文档拖拽进 Ubuntu中(拖进某个文件夹,直接拖到桌面好像不行),如果可以的话说明vmware tools已经安装好了。
VMware虚拟机安装Ubuntu18.04教程(图文) - VagueCheung - 博客园 (cnblogs.com)
四、配置相关环境
JDK的安装
桌面右键,选择打开终端,使用命令sudo apt install openjdk-17-jdk
安装JDK17
如果这里下载的速度很慢,只有十几kb/s,那么建议换源
一篇讲的很清楚的换源教程:
在安装完成后再次输入 java -version
和 javac -version
,出现相应的版本号即安装成功
Git与Gradle的安装:
在终端输入 gradle -version
尝试查看gradle版本,未安装的情况下会提示命令找不到,然后会提示你相关的安装命令(类似这种 sudo apt-get install gradle
),复制下来回车安装即可(因为我在演示前已经安装了,此处直接显示的就是gradle版本号了,你们按照提示安装即可)。
git的安装与gradle类似,都是先尝试查看版本号,然后根据提示安装。
五、服务器的运行
1.下载压缩包
在Home目录下(或者其他位置)新建一个文件夹Apollo,然后将服务器和示例代码压缩包复制进来,压缩包没有的可以去下面这个链接自取
链接:https://pan.baidu.com/s/1t3EGlevX4M1cCRkLurDDRA
提取码:rcrs
可以先下载到windows主机,然后将整个压缩包复制到虚拟机中。
然后右键“提取到此处”进行解压缩
继续将里面的两个压缩包解压缩,得到如下两个文件夹。
2.服务器的运行
首先进入rcrs-server-master文件夹,右键打开终端,输入指令进行编译:
./gradlew completeBuild
编译成功后终端会显示 BUILD SUCESSFULLY
接着输入以下指令来进入scripts文件夹:(cd是进入某个文件夹的命令,可以自己去了解了解Linux常用命令)
cd scripts
然后使用以下指令启动服务器:
bash start.sh -m ../maps/test/map -c ../maps/test/config
start.sh是一个用来启动的脚本,bash是执行这个脚本的命令
-m 用来指定地图 ..是指的父目录(上一级目录,即rcrs-server-master文件夹,因为前面用 cd scripts命令进入了该目录下的scripts文件夹) ../maps/test/map 指的就是上一级目录中的maps、test/map,大家可以自己在文件夹里点进去看看,确实存在的
-c 用来指定地图配置文件 ../maps/test/config 大家也可以自己去找一下看看,也确实存在
命令执行后等待一会儿服务器就会成功启动,如下图所示:
3.智能体的挂载
服务器启动成功后就要把相关的智能体挂载上去,可以理解为把我们写好的代码连接上服务器,让它能够去控制智能体的行动。
首先不要关闭之前的终端,也不要关闭服务器。Ctrl+D回到桌面,进入之前解压缩好的adf-sample-agent-java文件夹,然后右键进入终端,输入以下命令:
./gradlew clean
./gradlew build
然后就会对代码进行编译,编译成功后的界面如下图所示:
然后使用以下命令挂载智能体:
bash launch.sh -all
终端会显示成功挂载的智能体数量,如下图所示则为挂载成功:
进度条会一直卡在75%,这时去之前开启的服务器,可以直接点击左侧的图标,进到服务器后直接点Run,然后就能开始跑图。
如下图所示,Time指的是回合数,Score指的是分数。
运行后的两个终端状况如下图所示
等到图跑结束后进到服务器那个终端,按Ctrl+C
结束运行,并执行 bash kill.sh
彻底杀死进程。
然后在adf-sample-agent-java文件夹中用Ctrl+C结束智能体的挂载,结束后的两个终端如下图所示:
到此结束!