舰Colle本地缓存代理“KCCacheProxy”使用方法

教你点样用KCCacheProxy缓存舰C。
 

KCCacheProxy,是一个本地缓存舰C服务器端文件,并能无人管理自动更新。

无意中系github发现呢个玩具,设计理念同我预想差唔多?。

我之前一直用nginx反代舰C的缓存,定时导出缓存加try_files固定化,本来打算试下写个php来实现自动版本更新,但因为时间唔够用(就是懒?)就没搞了。

一,下载地址

https://github.com/Tibowl/KCCacheProxy

二,下载选择

releases下边有几个下载项,DOWN边个?

KCCacheProxy-x.x.x.Setup.exe,体积很大的GUI,唔好玩的,我唔用。
linux同mac唔使讲了。
KCCacheProxy-win.zip,呢度就用佢,就DOWN佢得了,其它唔使理了。
minimum-cache.zip,唔使理。
源码,如果你有兴趣的话。

三,使用方法

人家已经给了详细的方法(英文):https://github.com/Tibowl/KCCacheProxy/wiki/Installation-and-setup

我的方法,一共两部分。

㈠代理端
1,首先DOWN佐KCCacheProxy-win.zip返来,然后随便揾个地方放。
2,DOWN现成的缓存,打开上边Installation-and-setup页面,唔使向下拉,就系开头,见到“MEGA”的连接,打开佢。(呢步可以跳过,MEGA要出国,而且每6小时内只能免费下载3G数据)
3,直接运行x:\abcd\KCCacheProxy-win\proxy-win.exe,就得了,冇事就直接最少化。

PS:WIN10用户注意,CMD类的命令行窗口,你用鼠标点了一下里边的话,可能会导致“暂停”了,呢阵要按下回车先可以继续。

㈡浏览器端
呢度用chrome同埋代理切换插件switchyomega,其它浏览器自己睇相应的说明。

如果你以前未用过,你依家完全可以直接用作者提供的文件来恢复备份。

https://raw.githubusercontent.com/Tibowl/KCCacheProxy/master/misc/OmegaOptions.bak

作者的备份里边其实就是一个HTTP代理连接proxy-win的,另一个是舰C所有服务器地址的自动切换的规则。


一般玩舰C应该知道自己的服务器IP,所以规则自己写就得了,下边放一个我自己咸鱼湾的。(仅供参考)

先新建一个“代理服务器”,名为“KC”,默认直连,HTTP代理localhost,端口8081

再建一个“自动切换模式”,名称任意,建好后再“编辑源代码”,粘贴下边内容

[SwitchyOmega Conditions]
@with result

@note POST直连 - 佐伯湾
UrlWildcard: http://203.104.209.55/kcsapi/* +direct
@note KCS - 佐伯湾
UrlWildcard: http://203.104.209.55/kcs/* +KC
@note KCS2 - 佐伯湾
UrlWildcard: http://203.104.209.55/kcs2/* +KC
@note Gadget - 登陆服务器
UrlWildcard: http://203.104.209.7/* +KC
*.dmm.com +netch

* +direct

提醒,呢度有个“netch”,因为DMM需要日本机场先可以正常登陆,而203.104.209.7,依家因为俾DDOS,同样限制日本先可以正常读。

KCCacheProxy自带佐203.104.209.7的登陆文件缓存,如果你连203.104.209.7返回403的话,会自动调用登陆缓存。

所以,用佐KCCacheProxy之后,除佐DMM一定要日本IP先可以登陆之外,所有地区都可以直接玩舰C了。

四,config.json

依家可以正常玩了,不过要改设置的话,先关游戏,再关闭proxy-win,最后先可以打开\KCCacheProxy-win\config.json

作者写的配置说明:https://github.com/Tibowl/KCCacheProxy/wiki/Configuration

直接拉到最下,睇“config.json settings”就得了。

呢度要改的有几个:
"hostname": "0.0.0.0",(等局域网里边D机都可以连上来)
"verifyCache": true,(验证缓存文件是否有效,作者都建议打开)
"gameVersionOverwrite": "false",(false就是网页版,kca就是安卓版,但我未试过)

其它唔使改了。

五,其它问题

proxy-win.exe目前未支持设置上游代理,有需要可以用“netch”,使用进程模式来解决。

# 舰C用, 0
proxy-win.exe

另外,由于目前下载/更新舰C服务器文件时是阻塞等待状态,非异步,网络唔好果阵俾D耐性,除非过佐5分钟仲系冇反映再F5吧。

六,删除活动用的垃圾

活动用的地图,BOSS立绘之类的,都是一次性,活动过佐就冇用的了,留来多余。


新建一个.bat文件,放系KCCacheProxy-win目录下边,同cache文件夹是同一级的。

呢个脚本是用来删除活动地图、黑板图之类的。

只要改第四行的eventmapno就行,例如8月刚完的呢次活动是48。

呢个48点来,你自己睇“cache\kcs2\resources\map\”下边的048。

@echo off
setlocal enabledelayedexpansion

set eventmapno=48


echo 删除EVENT !eventmapno!

set delobjcount=5

set delobj[0]=cache\kcs2\resources\map\0!eventmapno!
set delobj[1]=cache\kcs2\resources\gauge\image!eventmapno!
set delobj[2]=cache\kcs2\img\sally\event_maesetsu
set delobj[3]=cache\kcs2\resources\area\sally\0!eventmapno!.png
set delobj[4]=cache\kcs2\resources\area\airunit\0!eventmapno!.png

set objposition=0
:loopbegin
if %objposition% equ %delobjcount% goto end


for /f "usebackq delims== tokens=1-2" %%i in (`set delobj[%objposition%]`) do (
	if exist %%j (
		if exist %%j\nul (
			rd /s /q %%j
			echo 删除文件夹 %%j
		) else (
			del /q %%j
			echo 删除文件 %%j
		)
	)
)

set /a objposition=%objposition%+1
goto loopbegin

:end

for /f "delims=" %%i in ('dir /b /a-d /s "cache\kcs2\resources\gauge\0!eventmapno!*.json"') do (
	echo %%i
	del /q %%i
)
for /f "delims=" %%i in ('dir /b /a-d /s "cache\kcs2\img\battle_result\battle_result_event_e*"') do (
	echo %%i
	del /q %%i
)

pause

新建一个.vbs文件,放系KCCacheProxy-win目录下边,同cache文件夹是同一级的。

呢个脚本是用来删一次性BOSS的,例如:cache\kcs2\resources\ship\full\1976_2155_aadxxunpltkw.png

但是冇理由一个个搜索来删,梗是要批量,所以你自己用图片浏览器来睇,一般睇“cache\kcs2\resources\ship\full\”里边就得了,

图片名“1976_2155_aadxxunpltkw.png”,呢度取第一个“_”之前的1976

呢度是要取两张图片的数字,就是开始的一个,删到边个的一个。

shipindexbegin=1945

shipindexend=1950


folder="cache\kcs2\resources\ship"

ix=0
dim files()

Function FilesTree(sPath)
    on error resume next
    Set oFso = CreateObject("Scripting.FileSystemObject")
    Set oFolder = oFso.GetFolder(sPath)
    Set oSubFolders = oFolder.SubFolders
    Set oFiles = oFolder.Files
    For Each oFile In oFiles
        if oFso.GetExtensionName(oFile.Path)="png" then
            ReDim Preserve files(ix)
            files(ix) = oFile.Path
            ix=ix+1
        end if
    Next
    For Each oSubFolder In oSubFolders
        FilesTree(oSubFolder.Path)
    Next
    Set oFolder = Nothing
    Set oSubFolders = Nothing
    Set oFso = Nothing
End Function

FilesTree(folder)

id=0

sub doing1()
    for each f in files
        set fso=CreateObject("Scripting.FileSystemObject")
        set file1=fso.GetFile(f)
        fn1=fso.GetFileName(file1)
        stra=split(fn1, "_")
        for inow=shipindexbegin to shipindexend
            if instr(stra(0) , inow) > 0 then
                id=id+1
                'MsgBox fn1 & "=" & stra(0)
                fso.DeleteFile(f)
            end if
        next
        set fn1=Nothing
        set file1=Nothing
        set fso=Nothing
    next
end sub

doing1()

if id>0 then
    msgbox "删除数量:" & id
else
    msgbox "没有符合要求的文件"
end if

《舰Colle本地缓存代理“KCCacheProxy”使用方法》有2个评分

★★★★★
★★★★
★★★
★★
2
0
0
0
0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注