pal_rcon
Palworld į¨ãŽ Rcon ã¯ãŠã¤ãĸãŗãã§ãã
Warning
ãĩãŧããŧå´ãŽåŽčŖ ãŽåéĄãĢãããĄããã¨åããĒããã¨ããããžãã
æĸįĨãŽåéĄ
-
ããĢããã¤ãæåãĢ寞åŋããĻããĒã
ãĩãŧããŧãããĢããã¤ãæåãĢ寞åŋããĻããĒããããããĢããã¤ãæåãå ĨãŖãĻããã¨ããããã¨ãããããĒãã
éäŋĄæ: æååããčĩˇãã
åäŋĄæ: ãããã length ãããžãč¨įŽãããĻãããããĄããģãŧã¸ãéä¸ã§éåããĻããžã -
ShowPlayers ãããžãæŠčŊããĒã
ããžãæŠčŊããĒãå ´åãããã¤ãįĸēčĒããĻããžãã- ããŦã¤ã¤ãŧããã°ã¤ãŗä¸(ããŖãŠã¯ãĒä¸åĢã)ãŽå ´å
ã¯ãŧãĢããĢå Ĩã寸åãĢ PlayerUID ãčĒãŋčžŧãžãããŽã§ããããžã§ã¯ PlayerUID ã 00000000 ã¨ãĒãŖãĻ Steam ãŽååãčŋãããã
ãããĢ Steam ãŽååãããĢããã¤ãæåã ã¨ä¸č¨ãŽä¸å ˇåãĢãããŦãšããŗãšãéä¸ã§åããĻããžãã - ããŦã¤ã¤ãŧãŽååãĢããĢããã¤ãæåãåĢãžããĻããå ´å
ä¸č¨åį §ã
- ããŦã¤ã¤ãŧããã°ã¤ãŗä¸(ããŖãŠã¯ãĒä¸åĢã)ãŽå ´å
-
ããąãã ID ããĄããã¨čŋãŖãĻããĒã
Rcon ã§ã¯äģģæãŽæ°åãéäŋĄæãĢä¸įˇãĢéããã¨ã§ããŦãšããŗãšãĢããŽæ°åãåĢããĻčŋããĻãããžãã
ãã°ã¤ãŗæã¯ãĄããã¨čŋãŖãĻããžããããŗããŗããéäŋĄãã㨠0 ãčŋãŖãĻããžãã
ããŽã¯ãŠã¤ãĸãŗããŽåŽčŖ ãĢã¤ããĻ
-
"\n"ã§įĩããŖãĻããĒãå ´åã¯åčŠĻčĄãã
PalWorld ㎠ãŦãšããŗãšã¯åŋ ãæščĄã§įĩããããã§ãã
æščĄã§įĩããŖãĻããĒãå ´å㯠max_attempts ãŽæ°ã ãåčŠĻčĄããžãã
įšãĢčĩˇãããã ShowPlayers ã§ã¯ãããŠãĢã㧠10 åãĢããĻãããžãã
ãããããĢããã¤ãæåãåĢãžããĻããĒããã°ãĒããŠã¤ãŽéãĢãã°ã¤ãŗãåŽäēããæŖããæ å ąãååžã§ããžãã
æåžãžã§"\n"ã§įĩãããĒããŖãå ´åã¯ããžãããŗãŧãã§ããĒãå¯čŊæ§ããããŽã§ IncompleteMessageError ãéåēããžãã
IncompleteMessageError.message ãĢåäŋĄãã Payload ãå ĨãŖãĻããžãã -
éäŋĄæãŽã¨ãŗãŗãŧã㯠ASCII ã§ã
UTF-8 ã§ã¨ãŗãŗãŧãããã¨æååãããä¸ãĢãŦãšããŗãšãæååãããĻããžããŽã§ ASCII ã§ã¨ãŗãŗãŧãããĻããžãã
ããĢããã¤ãæåãæ¸Ąã㨠UnicodeEncodeError ã¨ãĒããŽã§æŗ¨æããĻãã ããã
äŊŋãæš
pip install pal_rcon
Sync
from pal_rcon import PalRcon
# with Context Manager
with PalRcon("127.0.0.1", 25575, "password") as rcon:
res = rcon.send_info()
print(res.message)
# not Context Manager
rcon = PalRcon("127.0.0.1", 25575, "password")
rcon.connect()
res = rcon.send_info()
print(res.message)
rcon.disconnect()
Async
from pal_rcon import AsyncPalRcon
# with Context Manager
async with AsyncPalRcon("127.0.0.1", 25575, "password") as rcon:
res = await rcon.send_info()
print(res.message)
# not Context Manager
rcon = AsyncPalRcon("127.0.0.1", 25575, "password")
await rcon.connect()
res = await rcon.send_info()
print(res.message)
await rcon.disconnect()
Send Commands
rcon.execute_command(command: str | list, max_attempts: int | None = 1) -> CommandResponse
rcon.send_shutdown(seconds: int | None = 1, message: str | None = "", send_save: bool | None = False, max_attempts: int | None = 1) -> CommandResponse:
rcon.send_do_exit(max_attempts: int | None = 1) -> CommandResponse
rcon.send_broadcast(message: str, max_attempts: int | None = 1) -> CommandResponse
rcon.send_kick_player(steam_id: str | int, max_attempts: int | None = 1) -> CommandResponse
rcon.send_ban_player(steam_id: str | int, max_attempts: int | None = 1) -> CommandResponse
rcon.send_show_players(max_attempts: int | None = 10) -> PlayerlistResponse
rcon.send_info(max_attempts: int | None = 1) -> CommandResponse
rcon.send_save(max_attempts: int | None = 1) -> CommandResponse
License MIT ŠCharahiro-tan