DDNet 服务器配置教程 Linux 环境
DDNet 服务器配置教程 Linux 环境
配置之前可以参考一下官方网址给出的内容
官方网址:DDNet官方
环境说明
OS: Debian 11
安装
可以直接从官网下载,也可以使用这个链接:
Linux_DDNet 下载链接
上文中给的链接会因为更新而出现版本落后的情况,读者可以自行去官网下载。
如果你的 Linux 是云主机,可以获取链接,使用以下命令下载:
wget https://ddnet.org/downloads/DDNet-18.7-linux_x86_64.tar.xz
这个链接是与上面官方提供的下载链接一样的,同样可能会版本落后,读者也可以复制官方的链接,以获取最新版本
如果你是一个Linux新手,有些命令则可能会执行错误,应该是你的主机没有对应的命令,你可以在搜索引擎上搜索如何下载这些命令
解压安装
解压,命令行执行:
tar -xf DDNet-18.7-linux_x86_64.tar.xz
解压后得到一个文件夹:
配置服务器
这是重头戏,因为这个安装包的中并没有自带的配置文件,因此很多适用于windows的教程并不能用于此,但是运行时可以指定配置文件,使用 -f
参数。
首先,进入这个目录:
有些文件你可能没有(例如serverctl.sh、log),因为这是我后来手动写的…
可以先尝试启动一下服务器:
./DDNet-Server
以这样的方式启动的服务器只能运行在本地局域网,如果想要让其显示在游戏内列表上,则需要进行额外的配置。
由于这个压缩包并没有官方直接提供的配置文件,我手写了一个:
# 一般选项
# ---------------# 服务器端口(仅端口范围 8303-8310 会在局域网标签中显示,
# 默认为 0,表示自动选择一个空闲端口,范围在 8303-8310 之间)
# sv_port 8303# 服务器名称
sv_name ""# 加入服务器的密码,空字符串表示不需要密码
password ""# 管理员的 rcon (F2) 密码。如果不设置,将生成一个随机密码
# 并显示在服务器窗口中。
sv_rcon_password ""# 版主的 rcon (F2) 密码。如果不设置,则没有密码。
sv_rcon_mod_password ""# 帮助者的 rcon (F2) 密码。如果不设置,则没有密码。
sv_rcon_helper_password ""# 每次地图更换时执行的配置文件
# sv_reset_file "types/novice/flexreset.cfg"# 服务器启动时加载的地图
sv_map "Sunny Side Up"# 是否为测试服务器,并允许使用 rcon cheat。也在服务器类型中指示:
# - "DDraceNetwork" 表示 0(不允许 cheat)
# - "TestDDraceNetwo" 表示 1(允许 cheat)
sv_test_cmds 0# 是否注册服务器(使其公开)
sv_register 0# 高级选项
# ----------------# 服务器日志存储的文件
logfile "DDNet-server-8303.log"# 保存地图记录的文件夹
sv_score_folder "records"# 服务器最大玩家数
sv_max_clients 64# 每个 IP 地址最大玩家数
sv_max_clients_per_ip 4# 比赛模式 - 启用时玩家进入服务器时作为观察者
sv_tournament_mode 0# 玩家是否可以暂停角色并使用 /spec 命令使其消失
sv_pauseable 0# 是否允许玩家使用 /rescue(也可以是 /r)命令将自己传送脱离冻结状态
sv_rescue 1# 两次救援命令之间的时间间隔(单位:秒)
sv_rescue_delay 5# 启用 rcon cheat 后是否显示排名
sv_rank_cheats 0# 服务器定制
# --------------------# 玩家加入时在聊天中显示的欢迎信息
sv_welcome "Welcome on my DDNet server! Running all maps from https://github.com/ddnet/ddnet-maps"# 存放公告的文件(每个公告独占一行)
sv_announcement_filename "announcement.txt"# 下一条公告将在多少分钟后显示(单位:分钟)
sv_announcement_interval 120# 是否按顺序显示公告还是随机显示
sv_announcement_random 1# 玩家加入时显示的每日一条信息(使用 "\n" 来换行)
sv_motd "Testserver with DDraceNetwork Features!\nRunning all maps from https://github.com/ddnet/ddnet-maps"# 是否使用默认的 DDRace 规则
sv_ddrace_rules 1# 自定义规则(最多 10 行)
sv_rules_line1 ""
sv_rules_line2 ""
sv_rules_line3 ""# 每次地图更换后是否重置物理参数
sv_tune_reset 1# 每次地图更换后是否重置 DDRace 参数
sv_ddrace_tune_reset 1# 附加命令权限
# -------------------------------# 你可以通过使用 "access_status" 查看特定认证级别的用户可访问的所有命令
# 格式:access_status [0: admin, 1: moderator, 2: helper, 3: user]
#
# 格式:access_level [command] [0: admin, 1: moderator, 2: helper, 3: user]
# 其中 0 只允许管理员访问,1 允许版主访问,2 允许帮助者访问,3 允许普通用户访问
# 示例:mod_command ban 1# 非默认的命令,版主和帮助者可以访问
access_level left 2
access_level right 2
access_level up 2
access_level down 2
access_level super 2
access_level unsuper 2
access_level tele 2
access_level totele 2
access_level totelecp 2
access_level logout 2
access_level ninja 2
access_level grenade 2
access_level shotgun 2
access_level laser 2
access_level weapons 2
access_level unweapons 2
access_level unlaser 2
access_level unshotgun 2
access_level ungrenade 2
access_level unsolo 2
access_level undeep 2
access_level status 2# 仅版主可以使用的命令
access_level ban 1
access_level unban 1
access_level ban_range 1
access_level unban_range 1
access_level unban_all 1
access_level bans 1
access_level bans_save 1
access_level kick 1
access_level force_vote 1
access_level moderate 1# 特殊广播建议
# ----------------------------------------# 向没有 DDNet 客户端的玩家显示广播
sv_client_suggestion "Get DDNet client from DDNet.org to use all features on DDNet!"# 向使用非常旧版本 DDNet 客户端的玩家显示广播
sv_client_suggestion_old "Your DDNet client is old, update it on DDNet.org!"# 向使用已知有机器人程序的客户端玩家显示广播
sv_client_suggestion_bot "Your client has bots and can be remotely controlled!\nPlease use another client like DDNet client from DDNet.org"
你可以手动复制并粘贴到服务器的配置文件中,我个人比较喜欢的风格是保存到一个文件夹中,例如:
mkdir Configs
创建一个存放配置文件的文件夹。
touch myServerconfig.cfg
创建一个配置文件,当然你也可以命名为别的。
上面是我自己的服务器配置,因为要同时运行多个房间,因此需要多个配置文件,后面的数字则是端口。
创建好之后将配置文件复制进去即可。
配置文件的一些必要说明
在配置文件中,有几个必须要知道的问题:
sv_port
: 这个参数是服务器的端口设置最好自己设置,最大是65535,官方默认是8303到8310sv_map
: 这个参数是服务器启动时默认地图的设置,一定要自己设置。地图的路径在data/maps
中填写时不需要填写绝对路径,需要填写maps
开始的相对路径,并且不需要后缀- sv_test_cmds: 很多人开了服务器之后发现自己的模式永远都是
TestDDR
这是因为你的这个参数没有改为0,但是改为0之后,即是你是admin
也无法作弊 sv_register
: 这个参数最重要
!!! 关乎到你是否能在游戏列表找到你的服务器!默认参数为 0 即 “ipv4,ipv6” 但是有时候你的电脑并不能同时支持这两种注册方式,因此你可以尝试换成单独的ipv4
或者ipv6
直接修改即可,注意加上英文的冒号sv_max_clients_per_ip
: 这个参数不能为1!! 这样的话就不能开分身了
其他的参数和功能可以自行探索。
更多的配置参见: 设置和指令
运行服务器
最后运行服务器即可,需要制定配置文件的位置:
./DDNet-Server -f ./Configs/myServerconfig_8303.cfg
如果你想要让你的服务器一直运行,在终端关闭后也能继续运行,可以使用nohup
命令:
nohup ./DDNet-Server -f ./Configs/myServerconfig_8303.cfg
运行后的结果如下:
额外的说明(如果你有相关的服务器开发知识)
下面的这些内容是给业内人士看的,对于业余的同学,上面的内容已经够用了!!
日志文件的说明
在配置文件中有两个参数:
logfile
: 存储服务器日志,具体的路径在~/.local/share/ddnet
中sv_score_folder
: 存储地图数据,路径与上一条相同。
脚本
我额外为服务器的管理写了一个脚本,具有管理和查看服务器进程的功能(目前并不完善),供使用:
#!/bin/bash# var:LOG_DIR="./log"
CONFIG_DIR="./Configs"# function:check_log() {temp_var=8302if [ ! -d "$LOG_DIR" ]; thenmkdir -p "./log"fifor i in $(seq 1 8); doport=$((temp_var + i))log_file="$LOG_DIR/DDNet-server-$port.log"if [[ -f "$log_file" ]]; thenecho "$log_file exists."else echo "$log_file not exists, creating..."touch "$log_file"if [[ -f "$log_file" ]]; thenecho "create done."else echo "Failed to create "$log_file", please resolve manually"exit 1fifidone
}start_server() {temp_var=8302echo "Start server engine..."echo "Total: $1"for i in $(seq 1 $1); doport=$((temp_var + i))echo "running $port ..."log_file="$LOG_DIR/DDNet-server-$port.log"nohup ./DDNet-Server -f "$CONFIG_DIR/myServerconfig_$port.cfg" >> "$log_file" 2>&1 &echo "Server started on port $port with config myServerconfig_$port.cfg"doneunset temp_var
}start_server_logview() {temp_var=8302echo "Start server engine..."echo "Total: $1"for i in $(seq 1 $1); doport=$((temp_var + i))echo "running $port ..."log_file="$LOG_DIR/DDNet-server-$port.log"nohup ./DDNet-Server -f "$CONFIG_DIR/myServerconfig_$port.cfg" | tee -a "$log_file" > /dev/null 2>&1 &echo "Server started on port $port with config myServerconfig_$port.cfg [log view modle]"done
}clear_all_log() {temp_var=8302echo "Start clear..."echo "Total: 8"for i in $(seq 1 8); doport=$((temp_var + i))echo "clearing $port log ..."log_file="$LOG_DIR/DDNet-server-$port.log": > "$log_file"done
}read_target_log() {log_file="$LOG_DIR/DDNet-server-$1.log"cat "$log_file" | less
}# main:
while [[ $# -gt 0 ]]; docase "$1" in-clear_log)if [ -z "$2" ]; thenecho "Error: A value must follow \"-clearlog\""exit 1else if [ $2 -gt 8310 ] || [ $2 -lt 8303 ]; thenecho "Error: The value after \"-clearlog\" must be between in 8303 and 8310 "exit 1elseDDNET_LOG_CLEAR_TAR=$2shift 2fifishift 2;;-clear_all_log)CLEAR_ALL_LOG_FLAG=trueshift;;-check_log)check_logshift;;-help)HELP_FLAG=trueshift;;-log_view)LOGVIEW_FLAG=trueshift;;-nums)if [ -z "$2" ]; thenecho "Error: A value must follow \"-nums\""exit 1else if [ $2 -gt 8 ] || [ $2 -lt 1 ]; thenecho "Error: The value after \"-nums\" must be between 1 and 8 "exit 1elseDDNET_SERVER_NUM=$2shift 2fifi;;-pslist)PSLIST_FLAG=trueshift;;-read_log)if [ -z "$2" ]; thenecho "Error: A value must follow \"-read_log\""exit 1else if [ $2 -gt 8310 ] || [ $2 -lt 8303 ]; thenecho "Error: The value after \"read_log\" must be between 8303 and 8310"exit 1else READ_LOG_TAR=$2shift 2fifi;;-run)RUN_FLAG=trueshift;;-stop_all)STOPALL_FLAG=trueshift;;*)echo "Error: Invalid parameters."exit 1esac
doneif [[ "$HELP_FLAG" == true ]]; thenecho "help:"echo " -clear_log [target_ID] 清除指定日志 (ID 范围在 8303 - 8310)"echo " -clear_all_log 清除所有日志"echo " -check_log 检查日志完整性"echo " -help 输出帮助信息"echo " -log_view 启动时将日志输出在终端的同时保存"echo " -nums [nums] 启动服务器的数量"echo " -pslist 列出当前正在运行的所有服务器信息"echo " -read_log [target_ID] 查看指定的服务器日志"echo " -run 运行,必须配合 \"-nums\" 选项使用"echo " -stop_all 停止所有服务器"
fiif [[ "$PSLIST_FLAG" == true ]]; thenps aux | grep 'DDNet-Server' | less
fiif [[ "$STOPALL_FLAG" == true ]]; thenpkill -f "./DDNet-Server"
fiif [[ "$CLEAR_ALL_LOG_FLAG" == true ]]; thenclear_all_log
fiif [ -n "$READ_LOG_TAR" ]; thenread_target_log $READ_LOG_TAR
fiif [ -n "$DDNET_LOG_CLEAR_TAR" ]; then: > "$LOG_DIR/DDNet-Server-$DDNET_LOG_CLEAR_TAR.log"
fiif [ "$RUN_FLAG" == true ]; thencheck_logif [ -n "$DDNET_SERVER_NUM" ]; thenif [[ "$LOGVIEW_FLAG" == true ]]; thenstart_server_logview $DDNET_SERVER_NUMelsestart_server $DDNET_SERVER_NUMfielse echo "Error: Options \"-run\" and \"-nums\" must be present at the same time."exit 1fi
fi
脚本功能还不够完善,仍在开发中!!!
相关文章:
DDNet 服务器配置教程 Linux 环境
DDNet 服务器配置教程 Linux 环境 配置之前可以参考一下官方网址给出的内容 官方网址:DDNet官方 环境说明 OS: Debian 11 安装 可以直接从官网下载,也可以使用这个链接: Linux_DDNet 下载链接 上文中给的链接会因为更新而出现版本落后的情况&#x…...
Vue 2 —监视器实现动态切换表单属性值
目录 一、需求背景 二、监视器语法 三、实例展示 1、HTML部分 2、JS部分 四、使用场景总结 1. 表单验证 2. 动态更新 UI 3. 数据同步 4. 计算属性的替代方案 计算属性的优势 : 简洁性: 监视器的优势 : 灵活性: 多属性依赖: 副…...
Qt_day10_程序打包(完结)
目录 1. 设置图标 2. Debug和Release版本 3. 动态链接库 4. 打包 5. 联系项目要求 Qt开发的程序最终都是要给用户使用的,用户的电脑上不可能装一个Qt的开发环境导入项目使用。因此项目项目开发完成后需要打包——制作成安装包,用户直接下载并安装即可使用…...
golang通用后台管理系统09(系统操作日志记录)
1.日志工具类 package log/**** 日志记录 wangwei 2024-11-18 15:30*/ import ("log""os""path/filepath""time" )// 获取以当前日期命名的日志文件路径 func getLogFilePath() string {currentDate : time.Now().Format("2006-…...
如何确保爬取的数据准确性和完整性?
在数据驱动的业务环境中,爬虫程序的准确性和完整性至关重要。本文将探讨如何使用Java编写爬虫程序,并确保其在爬取数据时的准确性和完整性。 1. 精确的HTML解析 确保数据准确性的第一步是精确地解析HTML。Jsoup是Java中常用的HTML解析库,它提…...
【java】JDK安装
Java Downloads | Oracle 中国 next 注意安装的路径 环境变量...
科技改变工作方式:群晖NAS安装内网穿透实现个性化办公office文档分享(1)
文章目录 前言1. 本地环境配置2. 制作本地分享链接3. 制作公网访问链接4. 公网ip地址访问您的分享相册5. 制作固定公网访问链接 前言 本文将详细介绍如何在群晖NAS上安装Synology Office和Synology Drive Server,并利用Cpolar内网穿透工具为本地文档配置固定的公网…...
基于Java Springboot甘肃旅游管理系统
一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 数据…...
03-axios常用的请求方法、axios错误处理
欢迎来到“雪碧聊技术”CSDN博客! 在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将…...
《天体》游戏配置要求介绍
《天体》是一款太空探索和基地建造生存游戏,而游戏的画面表现非常不错,需要的配置要求也不算高,CPU最低只需要英特尔的酷睿i3 4XXX 系列或者AMD的Ryzen 3 2.6ghz处理器。 天体要什么配置最低配置: 需要 64 位处理器和操作系统 操作系统 *: …...
【企业级分布式系统】 Kafka集群
文章目录 KafkaKafka 概述使用消息队列的好处 Kafka 的特性Kafka 系统架构Kafka 的应用场景Kafka 的优缺点 Kafka 集群部署下载安装包安装 KafkaKafka 命令行操作Kafka 架构深入 FilebeatKafkaELK 部署指南~部署 ZookeeperKafka 集群部署 Filebeat部署 ELK(Logstash…...
MySQL 中有哪几种锁?
在 MySQL 中,锁(Locks)是为了保证数据的一致性和完整性而设计的机制。常见的锁可以从粒度和操作类型两个角度分类。以下是详细介绍: 按 粒度 分类 1. 全局锁 描述:锁定整个数据库实例。用途:主要用于备份…...
kafka中节点如何服役和退役
节点服役(添加新节点) 1.准备新节点: 安装 Kafka 和相关依赖。 配置 Kafka Broker 的 server.properties 文件,确保 broker.id 是唯一的,并且配置正确的 zookeeper.connect 地址。 重启网卡 2.启动新节点ÿ…...
HTML5实现剪刀石头布小游戏(附源码)
文章目录 1.设计来源1.1 主界面1.2 皮肤风格1.2 游戏中界面 2.效果和源码源码下载万套模板,程序开发,在线开发,在线沟通 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/143798520 HTM…...
集群聊天服务器(3)muduo网络库
目录 基于muduo的客户端服务器编程 muduo只能装在linux中,依赖boost库 客户端并不需要高并发 基于muduo的客户端服务器编程 支持epoll线程池,muduo封装了线程池 而且还有完善的日志系统 使用muduo库代码非常固定,基本就只有chatserver的类名…...
解决在Ubuntu 20.04中使用PyCharm时无法输入中文的问题
解决在Ubuntu 20.04中使用PyCharm时无法输入中文的问题 要解决在Ubuntu 20.04中使用PyCharm时无法输入中文的问题,特别是当使用IBus作为输入法框架时,我们需要通过设置适当的环境变量来确保PyCharm可以正确调用IBus输入法。下面将详细说明原因及解决步骤…...
【jvm】HotSpot中方法区的演进
目录 1. 说明2. JDK1.6及以前3. JDK1.74. JDK1.8及以后 1. 说明 1.在HotSpot虚拟机中,方法区(Method Area)的演进是一个重要的内存管理优化过程。2.从JDK1.6到JDK1.8,HotSpot虚拟机中的方法区经历了从永久代到元空间的重大变化。…...
Win10/11 安装使用 Neo4j Community Edition
如果你下载的是 Neo4j Community Edition 的压缩包,意味着你需要手动解压并配置 Neo4j。以下是详细的使用步骤: 0. 下载压缩包 访问Neo4j官网,找到 Community Edition 版本并选择 4.x 或者 5.x 下载:https://neo4j.com/deployme…...
Ubuntu 22.04 上快速搭建 Samba 文件共享服务器
Samba 简介 Samba 是一个开源软件,它扮演着不同操作系统间沟通的桥梁。通过实现 SMB(Server Message Block)协议,Samba 让文件和打印服务在 Windows、Linux 和 macOS 之间自由流动。 以下是 Samba 的特点: 跨平台兼…...
JQuery 基础知识学习(详尽版)2024.11.17
一、jQuery简介及使用详解 1.1 jQuery简介 写更少的代码,做更多的事;jQuery可以做:HTML 元素选取 , HTML 元素操作 ,CSS 操作 ,HTML 事件函数 ,JavaScript 特效和动画 ,HTML DOM 遍…...
Spring Validation参数校验
Validation Validation是Spring提供的一个参数校验框架,使用预定义的注解完成参数校验 使用步骤 引入Spring Validation起步依赖在需要校验的参数所在的类上添加Validated注解在需要校验的参数前面加上Pattern注解 <!--参数校验依赖--><dependency>&l…...
高斯数据库Postgresql死锁和锁表解决方法
解决死锁进方法: 查询死锁进程列表 select * from pg_stat_activity where waiting‘t’ 发现有好几条挂起的记录,记录下所有或需要解锁的pid 解决死锁进程 select pg_cancel_backend(‘pid值’) 解决完后,刷新后测试,恢复正…...
【设计模式】模板方法模式 在java中的应用
设计模式: 设计模式是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。这个术语是由Erich Gamma等人在1995年的书《设计模式:可复用面向对象软件的基础》中首次引入的。设计模式可以加快开发过程&#x…...
PVE纵览-安装系统卡“Loading Driver”的快速解决方案
PVE纵览-安装系统卡“Loading Driver”的快速解决方案 文章目录 PVE纵览-安装系统卡“Loading Driver”的快速解决方案摘要通过引导参数解决PVE安装卡在“Loading Driver”问题官方解决方法 关键字: PVE、 显卡、 Loading、 Driver、 nomodeset 摘要 在虚拟机…...
Lua资料
Lua脚本语言 cheet sheet Lua & c Lua与C API交互全面解析 Lua语言:和C语言的交互 Lua进阶用法之Lua和C的接口设计 Lua C API 简介 C和Lua之间的相互调用 深入Lua:用户数据userdata 基本数据类型 之 UserData calling-lua-from-c/ Embedding Lua i…...
【C语言】值传递和地址传递
值传递 引用传递(传地址,传引用)的区别 传值,是把实参的值赋值给行参 ,那么对行参的修改,不会影响实参的值。 传地址,是传值的一种特殊方式,只是他传递的是地址,不是普通…...
PyTorch 中使用自动求导计算梯度
使用 PyTorch 进行自动求导和梯度计算 在 PyTorch 中,张量的 requires_grad 属性决定了是否需要计算该张量的梯度。设置为 True 的张量会在计算过程中记录操作,以便在调用 .backward() 方法时自动计算梯度。通过构建计算图,PyTorch 能够有效…...
Oracle Instant Client 23.5安装配置完整教程
Oracle Instant Client 23.5安装配置完整教程 简介环境要求安装步骤1. 准备工作目录2. 下载Oracle Instant Client3. 解压Instant Client4. 安装依赖包5. 配置系统环境5.1 配置库文件路径5.2 配置环境变量 6. 配置Oracle钱包(可选) 验证安装常见问题解决…...
【jvm】方法区的理解
目录 1. 说明2. 方法区的演进3. 内部结构4. 作用5.内存管理 1. 说明 1.方法区用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码缓存等数据。它是各个线程共享的内存区域。2.尽管《Java虚拟机规范》中把方法区描述为堆的一个逻辑部分,但它却…...
ES-针对某个字段去重后-获取某个字段值的所有值
针对上面表的数据,现在想根据age分组,并获取每个分组后的name有哪些(去重后)。 select age, GROUP_CONCAT(DISTINCT(name)) from testtable group by age ; 结果: 如果想要增加排序: SELECT age, GROUP_CONCAT(DISTINCT name)…...
深圳 网站开发公司电话/网站的排名优化怎么做
概念meta-data就像其名一样,主要用来定义一些组件相关的配置值。按照官方定义,metadata是一组供父组件使用的名值对(name-value pair),因此相应的meta-data元素应该定义在相应的组件中。即如果想在activity中使用metadata,那么met…...
wordpress改变域名/深圳做网站的公司
环境及工具 手机 :小米手机 MI 2A 系统版本: Android 4.1.1 工具 : IDA pro 6.6 、C32Asm 、VS2005 一:第一次打开加密视频会出现如下验证: 输入用户名与密码登录成功后如下图 点击“支付并获取许可证”成功后就可以播放加密的视频了,并…...
义马网站开发/浙江百度推广开户
vue2 npm run dev 卡住 今天遇到了很惊奇的一件事,就是我在改了我的代码之后,发现我的页面卡住了,然后去看了一下发现卡在了98% 这里,关闭重新来过也没有用。 后来仔细检查了代码之后发现,是因为我自己在 import 的时…...
网站开发公司比较有名/南昌seo数据监控
原文地址:The how and why on React’s usage of linked list in Fiber to walk the component’s tree原文作者:Max Koretskyi译文出自:阿里云翻译小组译文链接:https://github.com/dawn-plex/translate/blob/master/articles/th…...
php网站服务器/友情链接的获取途径有哪些
GET & POST GET GET的语义是获取指定URL的资源将数据按照variablevalue的形式,添加到action所指向的URL后面,并且两者使用"?"连接,各变量之间使用"&"连接貌似不安全,因为在传输过程中,数…...
电子商城网站建议书/简述如何对网站进行推广
北京交通大学电气工程学院的研究人员诸斐琴、杨中平等,在2019年第3期《电工技术学报》上撰文指出,在城轨交通中安装地面式超级电容储能系统将有效回收列车再生制动能量,降低系统运行能耗。各个变电所、牵引/制动列车与储能系统通过牵引网进行实时能量交互…...