From 168e5f0b123a8127119a445417b393e97f06119b Mon Sep 17 00:00:00 2001 From: Lost-MSth Date: Wed, 21 Jul 2021 18:14:26 +0800 Subject: [PATCH] Update to v2.6.1 --- README.md | 16 +- latest version/database/arcsong.db | Bin 126976 -> 131072 bytes .../database/database_initialize.py | 4 +- latest version/database/packs.json | 9 + latest version/main.py | 9 + latest version/server/arcscore.py | 1474 ++++++++++------- latest version/server/arcworld.py | 16 +- latest version/server/info.py | 2 +- latest version/setting.py | 12 +- 9 files changed, 908 insertions(+), 634 deletions(-) diff --git a/README.md b/README.md index 6a6dbd2..5bbc9a9 100644 --- a/README.md +++ b/README.md @@ -62,19 +62,13 @@ It is just so interesting. What it can do is under exploration. > > Tips: When updating, please keep the original database in case of data loss. -### Version 2.6 -- 适用于Arcaea 3.6.4版本 For Arcaea 3.6.4 +### Version 2.6.1 +- 适用于Arcaea 3.7.0版本 For Arcaea 3.7.0 - 更新了歌曲数据库 Update the song database. -- 新增体力系统 Add stamina system. -- 完善了登陆奖励系统 Improve the login present system. -- 完善了兑换码系统 Improve the redeem code system. -- 新增了多设备自动封号机制 Add multi device auto ban mechanism. -- 修复了一些Bug Fix some bugs. - - 修复好友列表没有按照最近成绩日期排序的问题(Menci) Fix the friend list not sorted by last score date. (From Menci) - - 修复某些情况下跨目录运行失败的问题(MBRjun) Fix cross directory running problem in some cases. (From MBRjun) +- 新增活动图设置 Add available event maps setting. +- 修复了一个Bug Fix a bug. + - 添加了`user/me`接口 Add `user/me` interface. -> 提醒:使用新版本前,可能需要清空redeem,user_redeem,present,user_present表 -> Tips: Before using the new version, you may need to clear the redeem, user_redeem, present, user_present table. ## 运行环境与依赖 Running environment and requirements - Windows/Linux/Mac OS/Android diff --git a/latest version/database/arcsong.db b/latest version/database/arcsong.db index 456963012071cfd2cab667d4527d607d843fb237..64d4fb7b8c13fb2e549b03095872a8eb0da2439d 100644 GIT binary patch delta 1553 zcmbu9e@q-j6vt<0xt4`HmT+K$=fNU!K@(`X14-2cFF-A&JrJsYR4pub18i9K>iwWc zo5;-#6je&EatRNsHky06-WPYM8?l?Qhl;Wb#+&1Q7T?_+R;3{Ez$+KhMwb zU-Mt`*Z3rd`Lpn7EVtPM;lWs_x&3Z9$$i4T z$Bl6>bAz0ZL)<>j#no}ua60x=b2uAbFzhqzG(2c1HRKyO_)6^1XQ^C zOI_UoKuoL^igEz?L>Ym3o-Km@UQw3avNz}fb6IR5^dq+%^h;g^%<7xFr9RXvDIV~> zzPYF0+l7=Ksmlw#i{5CNy3xXvpV&m>GlN~~=2^y?!F~*{GCwm`uxr?P&j4=1?Y6=~ zlNnkoAeUy&%VYi?5JIN7xX4seQexUd$J(*2tLIl#SAh?_9e(8NL%!W&&?j^vF;FhF zB1JhQO5j-gZ|7_GShL0wb|!5>b2aR3X%fnUircFw$Q`&JdCKmb`}Zle z@D1jHj3@AZTaiQORj*GnX7%KUjB)?%V(k!RKN9MDJCH0({_b9+1S+bkz(^8w@w15^ zP7jfAM6d}`kLU|_iERoBfm4+E`4r}2=QG+SV~z$Nh2!j1^|@*0UJJnyf=?5CcDX`-8>-?82h0=wXV!wF#!DnYa8yA!f7L zl%JoURLGi8TXj#U)io=$Qd*x-D=MCTyL}s&Srts1c;EmnLYtjLkC5mfiM%U>1gBR@ ziYPu7y*V;M@H;gGzn>^hmZc!MJ4&r%>*AwwR(`bM%n<= zw&Lx25P9k)!W0aoG+kYy|AgIo0}9?wVNbtL5-~*uBQOJoo=t!O)$wWsP!z zmMvgw*_HnSoN+rIH56yIXG*w3Z$1m$Dyb`r6ma#za_SeCQ%1DVW%kM{@XNaVIek)( z&?p9lIwXtzLMe%yBhib?mubz8lL)mZ68>AXC6_P12x62Tr{=oADbm85HTW(2Y}$%e dTi+tN9^01uBrU;XB=Q2mvBgg(H}Vsr_zOr$Z?^yd delta 212 zcmZo@;AnWjK0%r_fPsNQexiasW5C9QCH690{HK5d4D$TH`M>dhVF{M5)cJZ)BPSZ Mrf;A2gfWX7076PomjD0& diff --git a/latest version/database/database_initialize.py b/latest version/database/database_initialize.py index 7bdf98d..8bb2936 100644 --- a/latest version/database/database_initialize.py +++ b/latest version/database/database_initialize.py @@ -4,7 +4,7 @@ import json # 数据库初始化文件,删掉arcaea_database.db文件后运行即可,谨慎使用 -ARCAEA_SERVER_VERSION = 'v2.6' +ARCAEA_SERVER_VERSION = 'v2.6.1' def main(path='./'): @@ -379,7 +379,7 @@ def main(path='./'): c.execute('''insert into item values(?,"core",1,'')''', (i,)) world_songs = ["babaroque", "shadesoflight", "kanagawa", "lucifer", "anokumene", "ignotus", "rabbitintheblackroom", "qualia", "redandblue", "bookmaker", "darakunosono", "espebranch", "blacklotus", "givemeanightmare", "vividtheory", "onefr", "gekka", "vexaria3", "infinityheaven3", "fairytale3", "goodtek3", "suomi", "rugie", "faintlight", "harutopia", "goodtek", "dreaminattraction", "syro", "diode", "freefall", "grimheart", "blaster", - "cyberneciacatharsis", "monochromeprincess", "revixy", "vector", "supernova", "nhelv", "purgatorium3", "dement3", "crossover", "guardina", "axiumcrisis", "worldvanquisher", "sheriruth", "pragmatism", "gloryroad", "etherstrike", "corpssansorganes", "lostdesire", "blrink", "essenceoftwilight", "lapis", "solitarydream", "lumia3", "purpleverse", "moonheart3", "glow", "enchantedlove", "take", "lifeispiano", "vandalism", "nexttoyou3", "lostcivilization3", "turbocharger", "bookmaker3", "laqryma3"] + "cyberneciacatharsis", "monochromeprincess", "revixy", "vector", "supernova", "nhelv", "purgatorium3", "dement3", "crossover", "guardina", "axiumcrisis", "worldvanquisher", "sheriruth", "pragmatism", "gloryroad", "etherstrike", "corpssansorganes", "lostdesire", "blrink", "essenceoftwilight", "lapis", "solitarydream", "lumia3", "purpleverse", "moonheart3", "glow", "enchantedlove", "take", "lifeispiano", "vandalism", "nexttoyou3", "lostcivilization3", "turbocharger", "bookmaker3", "laqryma3", "kyogenkigo", "hivemind", "seclusion"] for i in world_songs: c.execute('''insert into item values(?,"world_song",1,'')''', (i,)) diff --git a/latest version/database/packs.json b/latest version/database/packs.json index 62ded49..f5955d9 100644 --- a/latest version/database/packs.json +++ b/latest version/database/packs.json @@ -247,4 +247,13 @@ }], "orig_price": 500, "price": 500 +}, { + "name": "observer_append_2", + "items": [{ + "type": "pack", + "id": "observer_append_2", + "is_available": true + }], + "orig_price": 300, + "price": 300 }] \ No newline at end of file diff --git a/latest version/main.py b/latest version/main.py index 2df1641..b0ae17f 100644 --- a/latest version/main.py +++ b/latest version/main.py @@ -251,6 +251,15 @@ def aggregate(user_id): return jsonify(r) +@app.route(add_url_prefix('/user/me'), methods=['GET']) # 用户信息,给baa查分器用的 +@server.auth.auth_required(request) +def user_me(user_id): + r = server.info.arc_aggregate_small(user_id) + if r['success']: + r['value'] = r['value'][0]['value'] + return jsonify(r) + + @app.route(add_url_prefix('/user/me/character'), methods=['POST']) # 角色切换 @server.auth.auth_required(request) def character_change(user_id): diff --git a/latest version/server/arcscore.py b/latest version/server/arcscore.py index 3d5f595..1baf93b 100644 --- a/latest version/server/arcscore.py +++ b/latest version/server/arcscore.py @@ -286,7 +286,8 @@ def get_user_ptt_float(c, user_id) -> float: if x != []: for i in x: sumr += float(i[0]) - c.execute('''select * from recent30 where user_id = :a''', {'a': user_id}) + c.execute('''select * from recent30 where user_id = :a''', + {'a': user_id}) x = c.fetchone() if x is not None: r30 = [] @@ -298,7 +299,8 @@ def get_user_ptt_float(c, user_id) -> float: else: r30.append(0) s30.append('') - r30, s30 = (list(t) for t in zip(*sorted(zip(r30, s30), reverse=True))) + r30, s30 = (list(t) + for t in zip(*sorted(zip(r30, s30), reverse=True))) songs = [] i = 0 while len(songs) < 10 and i <= 29 and s30[i] != '' and s30[i] is not None: @@ -973,623 +975,859 @@ def arc_all_get(user_id): "c": True, "r": True }] - unlocklist_data = [{ - "unlock_key": "worldvanquisher|1|0", - "complete": 1 - }, { - "unlock_key": "worldexecuteme|2|0", - "complete": 1 - }, { - "unlock_key": "viyellastears|2|0", - "complete": 1 - }, { - "unlock_key": "viciousheroism|2|0", - "complete": 1 - }, { - "unlock_key": "loschen|2|0", - "complete": 1 - }, { - "unlock_key": "vector|2|0", - "complete": 1 - }, { - "unlock_key": "corpssansorganes|2|0", - "complete": 1 - }, { - "unlock_key": "valhallazero|2|0", - "complete": 1 - }, { - "unlock_key": "tiferet|1|0", - "complete": 1 - }, { - "unlock_key": "ouroboros|2|0", - "complete": 1 - }, { - "unlock_key": "tiemedowngently|1|0", - "complete": 1 - }, { - "unlock_key": "aegleseeker|2|3|crystalgravity|2", - "complete": 10 - }, { - "unlock_key": "tempestissimo|0|101", - "complete": 100 - }, { - "unlock_key": "syro|2|0", - "complete": 1 - }, { - "unlock_key": "ringedgenesis|2|0", - "complete": 1 - }, { - "unlock_key": "suomi|1|0", - "complete": 1 - }, { - "unlock_key": "snowwhite|2|0", - "complete": 1 - }, { - "unlock_key": "senkyou|2|0", - "complete": 1 - }, { - "unlock_key": "senkyou|1|0", - "complete": 1 - }, { - "unlock_key": "scarletlance|2|0", - "complete": 1 - }, { - "unlock_key": "toaliceliddell|1|0", - "complete": 1 - }, { - "unlock_key": "scarletlance|1|0", - "complete": 1 - }, { - "unlock_key": "aterlbus|1|0", - "complete": 1 - }, { - "unlock_key": "rugie|2|0", - "complete": 1 - }, { - "unlock_key": "rise|2|0", - "complete": 1 - }, { - "unlock_key": "revixy|2|0", - "complete": 1 - }, { - "unlock_key": "reinvent|2|0", - "complete": 1 - }, { - "unlock_key": "reinvent|1|0", - "complete": 1 - }, { - "unlock_key": "essenceoftwilight|1|0", - "complete": 1 - }, { - "unlock_key": "redandblue|2|0", - "complete": 1 - }, { - "unlock_key": "espebranch|1|0", - "complete": 1 - }, { - "unlock_key": "redandblue|1|0", - "complete": 1 - }, { - "unlock_key": "lostcivilization|2|0", - "complete": 1 - }, { - "unlock_key": "supernova|1|0", - "complete": 1 - }, { - "unlock_key": "rabbitintheblackroom|2|0", - "complete": 1 - }, { - "unlock_key": "pragmatism|1|0", - "complete": 1 - }, { - "unlock_key": "rabbitintheblackroom|1|0", - "complete": 1 - }, { - "unlock_key": "quon|1|0", - "complete": 1 - }, { - "unlock_key": "qualia|2|0", - "complete": 1 - }, { - "unlock_key": "purgatorium|2|0", - "complete": 1 - }, { - "unlock_key": "supernova|2|0", - "complete": 1 - }, { - "unlock_key": "halcyon|2|0", - "complete": 1 - }, { - "unlock_key": "saikyostronger|2|3|einherjar|2", - "complete": 3 - }, { - "unlock_key": "cyanine|2|0", - "complete": 1 - }, { - "unlock_key": "saikyostronger|2|3|laqryma|2", - "complete": 1 - }, { - "unlock_key": "purgatorium|1|0", - "complete": 1 - }, { - "unlock_key": "pragmatism|2|0", - "complete": 1 - }, { - "unlock_key": "ringedgenesis|1|0", - "complete": 1 - }, { - "unlock_key": "ouroboros|1|0", - "complete": 1 - }, { - "unlock_key": "partyvinyl|2|0", - "complete": 1 - }, { - "unlock_key": "oracle|1|0", - "complete": 1 - }, { - "unlock_key": "onelastdrive|2|0", - "complete": 1 - }, { - "unlock_key": "nirvluce|1|0", - "complete": 1 - }, { - "unlock_key": "onelastdrive|1|0", - "complete": 1 - }, { - "unlock_key": "omegafour|1|0", - "complete": 1 - }, { - "unlock_key": "harutopia|1|0", - "complete": 1 - }, { - "unlock_key": "anokumene|1|0", - "complete": 1 - }, { - "unlock_key": "oblivia|2|0", - "complete": 1 - }, { - "unlock_key": "nhelv|2|0", - "complete": 1 - }, { - "unlock_key": "memoryforest|1|0", - "complete": 1 - }, { - "unlock_key": "melodyoflove|2|0", - "complete": 1 - }, { - "unlock_key": "omegafour|2|0", - "complete": 1 - }, { - "unlock_key": "melodyoflove|1|0", - "complete": 1 - }, { - "unlock_key": "lucifer|2|0", - "complete": 1 - }, { - "unlock_key": "gloryroad|1|0", - "complete": 1 - }, { - "unlock_key": "babaroque|2|0", - "complete": 1 - }, { - "unlock_key": "lucifer|1|0", - "complete": 1 - }, { - "unlock_key": "lostdesire|2|0", - "complete": 1 - }, { - "unlock_key": "tiemedowngently|2|0", - "complete": 1 - }, { - "unlock_key": "solitarydream|1|0", - "complete": 1 - }, { - "unlock_key": "lostdesire|1|0", - "complete": 1 - }, { - "unlock_key": "lostcivilization|1|0", - "complete": 1 - }, { - "unlock_key": "loschen|1|0", - "complete": 1 - }, { - "unlock_key": "shadesoflight|1|0", - "complete": 1 - }, { - "unlock_key": "kanagawa|2|0", - "complete": 1 - }, { - "unlock_key": "grievouslady|1|101", - "complete": 100 - }, { - "unlock_key": "infinityheaven|1|0", - "complete": 1 - }, { - "unlock_key": "worldvanquisher|2|0", - "complete": 1 - }, { - "unlock_key": "bookmaker|2|0", - "complete": 1 - }, { - "unlock_key": "ignotus|2|0", - "complete": 1 - }, { - "unlock_key": "snowwhite|1|0", - "complete": 1 - }, { - "unlock_key": "partyvinyl|1|0", - "complete": 1 - }, { - "unlock_key": "viciousheroism|1|0", - "complete": 1 - }, { - "unlock_key": "gloryroad|0|0", - "complete": 1 - }, { - "unlock_key": "axiumcrisis|1|0", - "complete": 1 - }, { - "unlock_key": "kanagawa|1|0", - "complete": 1 - }, { - "unlock_key": "ifi|2|0", - "complete": 1 - }, { - "unlock_key": "jump|2|0", - "complete": 1 - }, { - "unlock_key": "nhelv|1|0", - "complete": 1 - }, { - "unlock_key": "harutopia|2|0", - "complete": 1 - }, { - "unlock_key": "guardina|2|0", - "complete": 1 - }, { - "unlock_key": "guardina|1|0", - "complete": 1 - }, { - "unlock_key": "lethaeus|1|0", - "complete": 1 - }, { - "unlock_key": "saikyostronger|2|0", - "complete": 1 - }, { - "unlock_key": "guardina|0|0", - "complete": 1 - }, { - "unlock_key": "jump|1|0", - "complete": 1 - }, { - "unlock_key": "oshamascramble|2|0", - "complete": 1 - }, { - "unlock_key": "aiueoon|2|0", - "complete": 1 - }, { - "unlock_key": "blaster|2|0", - "complete": 1 - }, { - "unlock_key": "grievouslady|2|101", - "complete": 100 - }, { - "unlock_key": "darakunosono|1|0", - "complete": 1 - }, { - "unlock_key": "valhallazero|1|0", - "complete": 1 - }, { - "unlock_key": "grimheart|1|0", - "complete": 1 - }, { - "unlock_key": "ifi|1|0", - "complete": 1 - }, { - "unlock_key": "gothiveofra|1|0", - "complete": 1 - }, { - "unlock_key": "cyanine|1|0", - "complete": 1 - }, { - "unlock_key": "tempestissimo|3|101", - "complete": 100 - }, { - "unlock_key": "overwhelm|2|0", - "complete": 1 - }, { - "unlock_key": "chronostasis|2|0", - "complete": 1 - }, { - "unlock_key": "gloryroad|2|0", - "complete": 1 - }, { - "unlock_key": "etherstrike|1|0", - "complete": 1 - }, { - "unlock_key": "singularity|2|0", - "complete": 1 - }, { - "unlock_key": "buchigireberserker|2|3|gothiveofra|2", - "complete": 1 - }, { - "unlock_key": "genesis|1|0", - "complete": 1 - }, { - "unlock_key": "fractureray|1|101", - "complete": 100 - }, { - "unlock_key": "freefall|2|0", - "complete": 1 - }, { - "unlock_key": "revixy|1|0", - "complete": 1 - }, { - "unlock_key": "fractureray|2|101", - "complete": 100 - }, { - "unlock_key": "goodtek|1|0", - "complete": 1 - }, { - "unlock_key": "monochromeprincess|2|0", - "complete": 1 - }, { - "unlock_key": "babaroque|1|0", - "complete": 1 - }, { - "unlock_key": "flyburg|2|0", - "complete": 1 - }, { - "unlock_key": "oracle|2|0", - "complete": 1 - }, { - "unlock_key": "clotho|2|0", - "complete": 1 - }, { - "unlock_key": "quon|2|0", - "complete": 1 - }, { - "unlock_key": "gou|2|0", - "complete": 1 - }, { - "unlock_key": "felis|2|0", - "complete": 1 - }, { - "unlock_key": "cyaegha|2|0", - "complete": 1 - }, { - "unlock_key": "qualia|1|0", - "complete": 1 - }, { - "unlock_key": "buchigireberserker|2|0", - "complete": 1 - }, { - "unlock_key": "etherstrike|2|0", - "complete": 1 - }, { - "unlock_key": "flyburg|1|0", - "complete": 1 - }, { - "unlock_key": "shadesoflight|2|0", - "complete": 1 - }, { - "unlock_key": "espebranch|2|0", - "complete": 1 - }, { - "unlock_key": "aterlbus|2|0", - "complete": 1 - }, { - "unlock_key": "dreaminattraction|2|0", - "complete": 1 - }, { - "unlock_key": "goodtek|2|0", - "complete": 1 - }, { - "unlock_key": "infinityheaven|2|0", - "complete": 1 - }, { - "unlock_key": "dandelion|2|0", - "complete": 1 - }, { - "unlock_key": "blrink|2|0", - "complete": 1 - }, { - "unlock_key": "suomi|2|0", - "complete": 1 - }, { - "unlock_key": "dandelion|1|0", - "complete": 1 - }, { - "unlock_key": "oblivia|1|0", - "complete": 1 - }, { - "unlock_key": "cyberneciacatharsis|1|0", - "complete": 1 - }, { - "unlock_key": "corpssansorganes|0|0", - "complete": 1 - }, { - "unlock_key": "vector|1|0", - "complete": 1 - }, { - "unlock_key": "conflict|2|0", - "complete": 1 - }, { - "unlock_key": "ignotus|1|0", - "complete": 1 - }, { - "unlock_key": "monochromeprincess|1|0", - "complete": 1 - }, { - "unlock_key": "clotho|1|0", - "complete": 1 - }, { - "unlock_key": "heavensdoor|1|0", - "complete": 1 - }, { - "unlock_key": "chronostasis|1|0", - "complete": 1 - }, { - "unlock_key": "lethaeus|2|0", - "complete": 1 - }, { - "unlock_key": "amazingmightyyyy|1|0", - "complete": 1 - }, { - "unlock_key": "aegleseeker|0|103", - "complete": 1 - }, { - "unlock_key": "buchigireberserker|2|3|ouroboros|2", - "complete": 1 - }, { - "unlock_key": "oshamascramble|1|0", - "complete": 1 - }, { - "unlock_key": "gothiveofra|2|0", - "complete": 1 - }, { - "unlock_key": "linearaccelerator|2|0", - "complete": 1 - }, { - "unlock_key": "corpssansorganes|1|0", - "complete": 1 - }, { - "unlock_key": "worldexecuteme|1|0", - "complete": 1 - }, { - "unlock_key": "bookmaker|1|0", - "complete": 1 - }, { - "unlock_key": "fractureray|0|101", - "complete": 100 - }, { - "unlock_key": "singularity|1|0", - "complete": 1 - }, { - "unlock_key": "blaster|1|0", - "complete": 1 - }, { - "unlock_key": "rise|1|0", - "complete": 1 - }, { - "unlock_key": "axiumcrisis|2|0", - "complete": 1 - }, { - "unlock_key": "tempestissimo|2|101", - "complete": 100 - }, { - "unlock_key": "solitarydream|2|0", - "complete": 1 - }, { - "unlock_key": "aegleseeker|1|103", - "complete": 1 - }, { - "unlock_key": "amazingmightyyyy|2|0", - "complete": 1 - }, { - "unlock_key": "cyaegha|1|0", - "complete": 1 - }, { - "unlock_key": "linearaccelerator|1|0", - "complete": 1 - }, { - "unlock_key": "tempestissimo|1|101", - "complete": 100 - }, { - "unlock_key": "conflict|1|0", - "complete": 1 - }, { - "unlock_key": "grievouslady|0|101", - "complete": 100 - }, { - "unlock_key": "dreaminattraction|1|0", - "complete": 1 - }, { - "unlock_key": "saikyostronger|2|3|izana|2", - "complete": 1 - }, { - "unlock_key": "memoryforest|2|0", - "complete": 1 - }, { - "unlock_key": "halcyon|1|0", - "complete": 1 - }, { - "unlock_key": "felis|1|0", - "complete": 1 - }, { - "unlock_key": "overwhelm|1|0", - "complete": 1 - }, { - "unlock_key": "toaliceliddell|2|0", - "complete": 1 - }, { - "unlock_key": "blrink|1|0", - "complete": 1 - }, { - "unlock_key": "heavensdoor|2|0", - "complete": 1 - }, { - "unlock_key": "genesis|2|0", - "complete": 1 - }, { - "unlock_key": "viyellastears|1|0", - "complete": 1 - }, { - "unlock_key": "aegleseeker|2|103", - "complete": 1 - }, { - "unlock_key": "tiferet|2|0", - "complete": 1 - }, { - "unlock_key": "grimheart|2|0", - "complete": 1 - }, { - "unlock_key": "aegleseeker|2|3|farawaylight|2", - "complete": 10 - }, { - "unlock_key": "rugie|1|0", - "complete": 1 - }, { - "unlock_key": "gou|1|0", - "complete": 1 - }, { - "unlock_key": "sheriruth|2|0", - "complete": 1 - }, { - "unlock_key": "aegleseeker|2|3|paperwitch|2", - "complete": 10 - }, { - "unlock_key": "sheriruth|1|0", - "complete": 1 - }, { - "unlock_key": "aegleseeker|2|3|loschen|2", - "complete": 10 - }, { - "unlock_key": "cyberneciacatharsis|2|0", - "complete": 1 - }, { - "unlock_key": "essenceoftwilight|2|0", - "complete": 1 - }, { - "unlock_key": "syro|1|0", - "complete": 1 - }, { - "unlock_key": "anokumene|2|0", - "complete": 1 - }, { - "unlock_key": "freefall|1|0", - "complete": 1 - }, { - "unlock_key": "darakunosono|2|0", - "complete": 1 - }, { - "unlock_key": "nirvluce|2|0", - "complete": 1 - }, + unlocklist_data = [ { - "unlock_key": "aegleseeker_challenge|0|102", - "complete": 1 - } + "unlock_key": "worldvanquisher|1|0", + "complete": 1 + }, + { + "unlock_key": "worldexecuteme|2|0", + "complete": 1 + }, + { + "unlock_key": "viciousheroism|2|0", + "complete": 1 + }, + { + "unlock_key": "vector|1|0", + "complete": 1 + }, + { + "unlock_key": "valhallazero|1|0", + "complete": 1 + }, + { + "unlock_key": "tiferet|2|0", + "complete": 1 + }, + { + "unlock_key": "tiferet|1|0", + "complete": 1 + }, + { + "unlock_key": "ouroboros|2|0", + "complete": 1 + }, + { + "unlock_key": "tiemedowngently|1|0", + "complete": 1 + }, + { + "unlock_key": "aegleseeker|2|3|crystalgravity|2", + "complete": 10 + }, + { + "unlock_key": "tempestissimo|0|101", + "complete": 100 + }, + { + "unlock_key": "syro|2|0", + "complete": 1 + }, + { + "unlock_key": "ringedgenesis|2|0", + "complete": 1 + }, + { + "unlock_key": "suomi|1|0", + "complete": 1 + }, + { + "unlock_key": "snowwhite|2|0", + "complete": 1 + }, + { + "unlock_key": "senkyou|1|0", + "complete": 1 + }, + { + "unlock_key": "senkyou|2|0", + "complete": 1 + }, + { + "unlock_key": "seclusion|1|0", + "complete": 1 + }, + { + "unlock_key": "scarletlance|2|0", + "complete": 1 + }, + { + "unlock_key": "toaliceliddell|1|0", + "complete": 1 + }, + { + "unlock_key": "scarletlance|1|0", + "complete": 1 + }, + { + "unlock_key": "aterlbus|1|0", + "complete": 1 + }, + { + "unlock_key": "rugie|2|0", + "complete": 1 + }, + { + "unlock_key": "rise|2|0", + "complete": 1 + }, + { + "unlock_key": "revixy|2|0", + "complete": 1 + }, + { + "unlock_key": "reinvent|2|0", + "complete": 1 + }, + { + "unlock_key": "felis|1|0", + "complete": 1 + }, + { + "unlock_key": "rekkaresonance|2|0", + "complete": 1 + }, + { + "unlock_key": "reinvent|1|0", + "complete": 1 + }, + { + "unlock_key": "essenceoftwilight|1|0", + "complete": 1 + }, + { + "unlock_key": "redandblue|2|0", + "complete": 1 + }, + { + "unlock_key": "espebranch|1|0", + "complete": 1 + }, + { + "unlock_key": "redandblue|1|0", + "complete": 1 + }, + { + "unlock_key": "lostcivilization|2|0", + "complete": 1 + }, + { + "unlock_key": "supernova|1|0", + "complete": 1 + }, + { + "unlock_key": "rabbitintheblackroom|2|0", + "complete": 1 + }, + { + "unlock_key": "pragmatism|1|0", + "complete": 1 + }, + { + "unlock_key": "rabbitintheblackroom|1|0", + "complete": 1 + }, + { + "unlock_key": "quon|1|0", + "complete": 1 + }, + { + "unlock_key": "qualia|2|0", + "complete": 1 + }, + { + "unlock_key": "purgatorium|2|0", + "complete": 1 + }, + { + "unlock_key": "supernova|2|0", + "complete": 1 + }, + { + "unlock_key": "halcyon|2|0", + "complete": 1 + }, + { + "unlock_key": "saikyostronger|2|3|einherjar|2", + "complete": 5 + }, + { + "unlock_key": "cyanine|2|0", + "complete": 1 + }, + { + "unlock_key": "saikyostronger|2|3|laqryma|2", + "complete": 1 + }, + { + "unlock_key": "purgatorium|1|0", + "complete": 1 + }, + { + "unlock_key": "pragmatism|2|0", + "complete": 1 + }, + { + "unlock_key": "ringedgenesis|1|0", + "complete": 1 + }, + { + "unlock_key": "ouroboros|1|0", + "complete": 1 + }, + { + "unlock_key": "partyvinyl|2|0", + "complete": 1 + }, + { + "unlock_key": "oracle|1|0", + "complete": 1 + }, + { + "unlock_key": "onelastdrive|2|0", + "complete": 1 + }, + { + "unlock_key": "nirvluce|1|0", + "complete": 1 + }, + { + "unlock_key": "onelastdrive|1|0", + "complete": 1 + }, + { + "unlock_key": "omegafour|1|0", + "complete": 1 + }, + { + "unlock_key": "harutopia|1|0", + "complete": 1 + }, + { + "unlock_key": "anokumene|1|0", + "complete": 1 + }, + { + "unlock_key": "oblivia|2|0", + "complete": 1 + }, + { + "unlock_key": "nhelv|2|0", + "complete": 1 + }, + { + "unlock_key": "memoryforest|1|0", + "complete": 1 + }, + { + "unlock_key": "melodyoflove|2|0", + "complete": 1 + }, + { + "unlock_key": "omegafour|2|0", + "complete": 1 + }, + { + "unlock_key": "melodyoflove|1|0", + "complete": 1 + }, + { + "unlock_key": "seclusion|2|0", + "complete": 1 + }, + { + "unlock_key": "lucifer|2|0", + "complete": 1 + }, + { + "unlock_key": "gloryroad|1|0", + "complete": 1 + }, + { + "unlock_key": "babaroque|2|0", + "complete": 1 + }, + { + "unlock_key": "lucifer|1|0", + "complete": 1 + }, + { + "unlock_key": "lostdesire|2|0", + "complete": 1 + }, + { + "unlock_key": "tiemedowngently|2|0", + "complete": 1 + }, + { + "unlock_key": "solitarydream|1|0", + "complete": 1 + }, + { + "unlock_key": "lostdesire|1|0", + "complete": 1 + }, + { + "unlock_key": "lostcivilization|1|0", + "complete": 1 + }, + { + "unlock_key": "loschen|1|0", + "complete": 1 + }, + { + "unlock_key": "shadesoflight|1|0", + "complete": 1 + }, + { + "unlock_key": "kanagawa|2|0", + "complete": 1 + }, + { + "unlock_key": "ifi|2|0", + "complete": 1 + }, + { + "unlock_key": "kanagawa|1|0", + "complete": 1 + }, + { + "unlock_key": "jump|1|0", + "complete": 1 + }, + { + "unlock_key": "dandelion|2|0", + "complete": 1 + }, + { + "unlock_key": "infinityheaven|2|0", + "complete": 1 + }, + { + "unlock_key": "grievouslady|1|101", + "complete": 100 + }, + { + "unlock_key": "infinityheaven|1|0", + "complete": 1 + }, + { + "unlock_key": "worldvanquisher|2|0", + "complete": 1 + }, + { + "unlock_key": "bookmaker|2|0", + "complete": 1 + }, + { + "unlock_key": "ignotus|2|0", + "complete": 1 + }, + { + "unlock_key": "nhelv|1|0", + "complete": 1 + }, + { + "unlock_key": "harutopia|2|0", + "complete": 1 + }, + { + "unlock_key": "guardina|2|0", + "complete": 1 + }, + { + "unlock_key": "guardina|1|0", + "complete": 1 + }, + { + "unlock_key": "lethaeus|1|0", + "complete": 1 + }, + { + "unlock_key": "saikyostronger|2|0", + "complete": 1 + }, + { + "unlock_key": "guardina|0|0", + "complete": 1 + }, + { + "unlock_key": "oshamascramble|2|0", + "complete": 1 + }, + { + "unlock_key": "aiueoon|2|0", + "complete": 1 + }, + { + "unlock_key": "blaster|2|0", + "complete": 1 + }, + { + "unlock_key": "grievouslady|2|101", + "complete": 100 + }, + { + "unlock_key": "darakunosono|1|0", + "complete": 1 + }, + { + "unlock_key": "grimheart|1|0", + "complete": 1 + }, + { + "unlock_key": "ifi|1|0", + "complete": 1 + }, + { + "unlock_key": "gothiveofra|1|0", + "complete": 1 + }, + { + "unlock_key": "etherstrike|1|0", + "complete": 1 + }, + { + "unlock_key": "singularity|2|0", + "complete": 1 + }, + { + "unlock_key": "viciousheroism|1|0", + "complete": 1 + }, + { + "unlock_key": "axiumcrisis|1|0", + "complete": 1 + }, + { + "unlock_key": "gloryroad|0|0", + "complete": 1 + }, + { + "unlock_key": "buchigireberserker|2|3|gothiveofra|2", + "complete": 1 + }, + { + "unlock_key": "genesis|1|0", + "complete": 1 + }, + { + "unlock_key": "fractureray|1|101", + "complete": 100 + }, + { + "unlock_key": "freefall|2|0", + "complete": 1 + }, + { + "unlock_key": "revixy|1|0", + "complete": 1 + }, + { + "unlock_key": "fractureray|2|101", + "complete": 100 + }, + { + "unlock_key": "goodtek|1|0", + "complete": 1 + }, + { + "unlock_key": "monochromeprincess|2|0", + "complete": 1 + }, + { + "unlock_key": "babaroque|1|0", + "complete": 1 + }, + { + "unlock_key": "flyburg|2|0", + "complete": 1 + }, + { + "unlock_key": "oracle|2|0", + "complete": 1 + }, + { + "unlock_key": "clotho|2|0", + "complete": 1 + }, + { + "unlock_key": "quon|2|0", + "complete": 1 + }, + { + "unlock_key": "gou|2|0", + "complete": 1 + }, + { + "unlock_key": "felis|2|0", + "complete": 1 + }, + { + "unlock_key": "cyaegha|2|0", + "complete": 1 + }, + { + "unlock_key": "qualia|1|0", + "complete": 1 + }, + { + "unlock_key": "buchigireberserker|2|0", + "complete": 1 + }, + { + "unlock_key": "etherstrike|2|0", + "complete": 1 + }, + { + "unlock_key": "flyburg|1|0", + "complete": 1 + }, + { + "unlock_key": "shadesoflight|2|0", + "complete": 1 + }, + { + "unlock_key": "espebranch|2|0", + "complete": 1 + }, + { + "unlock_key": "syro|1|0", + "complete": 1 + }, + { + "unlock_key": "anokumene|2|0", + "complete": 1 + }, + { + "unlock_key": "equilibrium_challenge|2|102", + "complete": -1 + }, + { + "unlock_key": "cyanine|1|0", + "complete": 1 + }, + { + "unlock_key": "tempestissimo|3|101", + "complete": 100 + }, + { + "unlock_key": "overwhelm|2|0", + "complete": 1 + }, + { + "unlock_key": "chronostasis|2|0", + "complete": 1 + }, + { + "unlock_key": "gloryroad|2|0", + "complete": 1 + }, + { + "unlock_key": "equilibrium_challenge|1|102", + "complete": -1 + }, + { + "unlock_key": "aterlbus|2|0", + "complete": 1 + }, + { + "unlock_key": "dreaminattraction|2|0", + "complete": 1 + }, + { + "unlock_key": "dreaminattraction|1|0", + "complete": 1 + }, + { + "unlock_key": "divinelight|2|0", + "complete": 1 + }, + { + "unlock_key": "goodtek|2|0", + "complete": 1 + }, + { + "unlock_key": "blrink|2|0", + "complete": 1 + }, + { + "unlock_key": "suomi|2|0", + "complete": 1 + }, + { + "unlock_key": "dandelion|1|0", + "complete": 1 + }, + { + "unlock_key": "aegleseeker_challenge|0|102", + "complete": 1 + }, + { + "unlock_key": "oblivia|1|0", + "complete": 1 + }, + { + "unlock_key": "cyberneciacatharsis|1|0", + "complete": 1 + }, + { + "unlock_key": "corpssansorganes|0|0", + "complete": 1 + }, + { + "unlock_key": "conflict|2|0", + "complete": 1 + }, + { + "unlock_key": "ignotus|1|0", + "complete": 1 + }, + { + "unlock_key": "monochromeprincess|1|0", + "complete": 1 + }, + { + "unlock_key": "clotho|1|0", + "complete": 1 + }, + { + "unlock_key": "heavensdoor|1|0", + "complete": 1 + }, + { + "unlock_key": "chronostasis|1|0", + "complete": 1 + }, + { + "unlock_key": "lethaeus|2|0", + "complete": 1 + }, + { + "unlock_key": "amazingmightyyyy|1|0", + "complete": 1 + }, + { + "unlock_key": "aegleseeker|0|103", + "complete": 1 + }, + { + "unlock_key": "buchigireberserker|2|3|ouroboros|2", + "complete": 1 + }, + { + "unlock_key": "oshamascramble|1|0", + "complete": 1 + }, + { + "unlock_key": "gothiveofra|2|0", + "complete": 1 + }, + { + "unlock_key": "linearaccelerator|2|0", + "complete": 1 + }, + { + "unlock_key": "corpssansorganes|1|0", + "complete": 1 + }, + { + "unlock_key": "worldexecuteme|1|0", + "complete": 1 + }, + { + "unlock_key": "bookmaker|1|0", + "complete": 1 + }, + { + "unlock_key": "fractureray|0|101", + "complete": 100 + }, + { + "unlock_key": "singularity|1|0", + "complete": 1 + }, + { + "unlock_key": "blaster|1|0", + "complete": 1 + }, + { + "unlock_key": "rise|1|0", + "complete": 1 + }, + { + "unlock_key": "axiumcrisis|2|0", + "complete": 1 + }, + { + "unlock_key": "tempestissimo|2|101", + "complete": 100 + }, + { + "unlock_key": "solitarydream|2|0", + "complete": 1 + }, + { + "unlock_key": "aegleseeker|1|103", + "complete": 1 + }, + { + "unlock_key": "amazingmightyyyy|2|0", + "complete": 1 + }, + { + "unlock_key": "cyaegha|1|0", + "complete": 1 + }, + { + "unlock_key": "linearaccelerator|1|0", + "complete": 1 + }, + { + "unlock_key": "valhallazero|2|0", + "complete": 1 + }, + { + "unlock_key": "corpssansorganes|2|0", + "complete": 1 + }, + { + "unlock_key": "snowwhite|1|0", + "complete": 1 + }, + { + "unlock_key": "partyvinyl|1|0", + "complete": 1 + }, + { + "unlock_key": "jump|2|0", + "complete": 1 + }, + { + "unlock_key": "tempestissimo|1|101", + "complete": 100 + }, + { + "unlock_key": "conflict|1|0", + "complete": 1 + }, + { + "unlock_key": "viyellastears|2|0", + "complete": 1 + }, + { + "unlock_key": "equilibrium_challenge|0|102", + "complete": -1 + }, + { + "unlock_key": "grievouslady|0|101", + "complete": 100 + }, + { + "unlock_key": "saikyostronger|2|3|izana|2", + "complete": 1 + }, + { + "unlock_key": "memoryforest|2|0", + "complete": 1 + }, + { + "unlock_key": "halcyon|1|0", + "complete": 1 + }, + { + "unlock_key": "blrink|1|0", + "complete": 1 + }, + { + "unlock_key": "heavensdoor|2|0", + "complete": 1 + }, + { + "unlock_key": "genesis|2|0", + "complete": 1 + }, + { + "unlock_key": "vector|2|0", + "complete": 1 + }, + { + "unlock_key": "loschen|2|0", + "complete": 1 + }, + { + "unlock_key": "divinelight|1|0", + "complete": 1 + }, + { + "unlock_key": "viyellastears|1|0", + "complete": 1 + }, + { + "unlock_key": "aegleseeker|2|103", + "complete": 1 + }, + { + "unlock_key": "grimheart|2|0", + "complete": 1 + }, + { + "unlock_key": "aegleseeker|2|3|farawaylight|2", + "complete": 10 + }, + { + "unlock_key": "rugie|1|0", + "complete": 1 + }, + { + "unlock_key": "gou|1|0", + "complete": 1 + }, + { + "unlock_key": "sheriruth|2|0", + "complete": 1 + }, + { + "unlock_key": "aegleseeker|2|3|paperwitch|2", + "complete": 10 + }, + { + "unlock_key": "sheriruth|1|0", + "complete": 1 + }, + { + "unlock_key": "aegleseeker|2|3|loschen|2", + "complete": 10 + }, + { + "unlock_key": "essenceoftwilight|2|0", + "complete": 1 + }, + { + "unlock_key": "darakunosono|2|0", + "complete": 1 + }, + { + "unlock_key": "freefall|1|0", + "complete": 1 + }, + { + "unlock_key": "toaliceliddell|2|0", + "complete": 1 + }, + { + "unlock_key": "overwhelm|1|0", + "complete": 1 + }, + { + "unlock_key": "nirvluce|2|0", + "complete": 1 + }, + { + "unlock_key": "cyberneciacatharsis|2|0", + "complete": 1 + } ] return { diff --git a/latest version/server/arcworld.py b/latest version/server/arcworld.py index cea3fc0..aed72f9 100644 --- a/latest version/server/arcworld.py +++ b/latest version/server/arcworld.py @@ -90,8 +90,8 @@ def get_current_map(user_id): def get_world_all(user_id): # 读取所有地图信息并处理,返回字典列表 re = [] + worlds = get_world_name() with Connect() as c: - worlds = get_world_name() for map_id in worlds: info = get_world_info(map_id) steps = info['steps'] @@ -121,6 +121,20 @@ def get_world_all(user_id): return re +def get_available_maps(): + # 获取当前可用图(用户设定的),返回字典列表 + re = [] + for i in Config.AVAILABLE_MAP: + info = get_world_info(i) + del info['steps'] + del info['is_locked'] + del info['curr_position'] + del info['curr_capture'] + re.append(info) + + return re + + def get_user_world(user_id, map_id): # 获取用户图信息,返回字典 re = {} diff --git a/latest version/server/info.py b/latest version/server/info.py index 091dae4..27168dd 100644 --- a/latest version/server/info.py +++ b/latest version/server/info.py @@ -165,7 +165,7 @@ def get_user_me(c, user_id): stamina = x[33] r = {"is_aprilfools": Config.IS_APRILFOOLS, - "curr_available_maps": [], + "curr_available_maps": server.arcworld.get_available_maps(), "character_stats": user_character, "friends": get_user_friend(c, user_id), "settings": { diff --git a/latest version/setting.py b/latest version/setting.py index 8e79e0f..6e9865b 100644 --- a/latest version/setting.py +++ b/latest version/setting.py @@ -30,7 +30,7 @@ class Config(): Allowed game versions If it is blank, all are allowed. ''' - ALLOW_APPVERSION = ['3.5.3', '3.5.3c', '3.6.4', '3.6.4c'] + ALLOW_APPVERSION = ['3.5.3', '3.5.3c', '3.7.0', '3.7.0c'] ''' -------------------- ''' @@ -68,6 +68,16 @@ class Config(): -------------------- ''' + ''' + -------------------- + 世界模式当前活动图设置 + Current available maps in world mode + ''' + AVAILABLE_MAP = [] # Ex. ['test', 'test2'] + ''' + -------------------- + ''' + ''' -------------------- Web后台管理页面的用户名和密码