olliz0r / sys-botbase Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU General Public License v3.0
License: GNU General Public License v3.0
The sysbot base is no longer working with atmosphere update and new switch update
First off - thank you so much for building this, I adore this library and it's helped me make some really fun projects. The base of one of those projects is building something that proxies controller input from a Linux PC to the Switch using sys-botbase
. I've got everything working without any noticeable delay, except for the stick movement.
I've confirmed that I'm receiving stick events the moment they happen on my end and going through the socket immediately, but they take a few seconds to actually reflect on the switch. Buttons and d-pad functionality work great and are reflected instantaneously.
I believe this is because the library is trying to slide between stick values instead of jumping immediately? But I could be wrong.
it's not possibile to press button on sys-botbase
Socket connect Joycon pro -> OK
action on BUTTONS -> KO
Im very very interested by these item's Transparent PNG Images, How can
I get these?
Is reading/writing x bytes of consecutive memory relative to main and heap bases implemented?
Thanks!
I'm looking into creating a discord bot for pokemon seed checking in sword and shield. It's uses sysbot-base.
Since the game will have to go online to trade what steps do I take in my cfw switch to go online without getting banned
I have a few ideas for webapps that allow live editing/controling the switch but sys-botbase doesnt have an accessable websocket port.
I am rn trying to see if i can add that using the wslay library.
for now have a typescript connection example
import {PromiseSocket} from "promise-socket"
import {Socket} from "net";
async function Peek(socket:PromiseSocket<Socket>, address: number, size: number): Promise<Buffer> {
await socket.write(PeekCommandConstruct(address,size))
let buffer = Buffer.from((await socket.read()).toString(),'hex').reverse();
return buffer
}
async function Poke(socket:PromiseSocket<Socket>,address:number,size:number,data:Buffer) {
let Command = PokeCommandConstruct(address,size,data);
await socket.write(Command);
}
async function MySocketFun() {
const socket = new PromiseSocket();
await socket.connect({
port: 6000,
host: "192.168.1.102",
});
//test Simple Commands
const SimpleCommands = ["getTitleID", "getSystemLanguage", "getHeapBase"];
for (let Command of SimpleCommands) {
await socket.write(CommandConstruct(Command));
const response = (await socket.read()) as Buffer
console.log(`${Command}:${response.toString().trim()}`);
}
//peak test
let result = await Peek(socket,0xAC3B90C0,1024);
console.log(result.toString('hex'));
await socket.end();
socket.destroy();
//test Poke
await Poke(socket,0xAC3B90C4,4,Buffer.from([0,0,0,0]))
}
function CommandConstruct(Command: string) {
return Command + "\r\n";
}
function PeekCommandConstruct(offset: number, size: number) {
if (Number.isInteger(offset) && Number.isInteger(size)) {
const Soffset = `0x${offset.toString(16).toUpperCase()}`;
const SoffsetAndSize = `${Soffset} ${size.toString()}`;
const Final = `peek ${SoffsetAndSize}`;
return CommandConstruct(Final);
} else {
throw TypeError;
}
}
function PokeCommandConstruct(offset: number, size: number, data: Buffer) {
if (Number.isInteger(offset) && Number.isInteger(size)) {
const Soffset = `0x${offset.toString(16).toUpperCase()}`;
const SoffsetAndSize = `${Soffset} ${size.toString()}`;
const Final = `poke ${SoffsetAndSize} ${data.toString('hex')}`;
return CommandConstruct(Final);
} else {
throw TypeError;
}
}
MySocketFun().catch(console.error);
hi thanks for hard work on this plug-in
but i'm using NHSE(on animal crossing) at FW10.0.4,botbase cannot work anymore :(
Hello,
I have downloaded and installed the sys-botbase with atomsphere 10.3 and tested the controls on the home screen of the switch. Everything on the home screen is working great. However when i open a game (pokemon) and try the controls in the game i am getting a connection timeout.
Any ideas why this is happening?
I installed this and extracted the zip file for use with ACNH Mobile Spawner. The app can interact and spawn with items, but I installed the NSP file (a mistake after i installed it after the fact i know (i did through awoo installer using ns usbloader 5.2. how can I uninstall it? I don't see it appearing anywhere as an app. Also I noticed using my album in non applet mode while a another application is running causes switch to freeze. Using album without another application running will bring up homebrew menu as normal and holding R in any case will open normal album as normal. was wondering if this is normal or its because i installed the sys-botbase.nsp by accident.
CFW 13.1.0 on AMS 1.2.4.
I'm running sys-botbase on emuMMC and i don't use any other cheat homebrews like Edizon.
My game doesn't get ek8 data from toInject.ek8 files, all other function seems doing well tho,
so I think I have sth wrong in below line
sendCommand(s, f"poke 0x4293D8B0 0x{pokemonToInject}")
Could you give me a piece of advice?
I'm not sure if I would call this an issue, but I'm not exactly sure who to reach out to in means of this matter.
When attempting to peek a code, it seems like the script isn't going anywhere. Nor does it do anything in the poking process either.
I'm using sendCommand (s, "peek 0xcode")
and following up with sendCommand (s, "poke 0xcode")
But it's just not writing the code.
Any advice?
I have CFW 13.1.0 on AMS 1.2.4 and when I install the current package (Following the instructions); I can't get the current sys-botbase to activate. I was was wondering is there a 13.1.0 version coming or am I doing something wrong?
Also, when I check the sysmodules it is not showing up.
Any guidance would be appreciated.
Thank You
Why would sysbot 6 work fine but 7 and 8 freeze? It makes no sense.
Thank you for creating this useful tool.
I was wondering if there was a way of using the L Control Stick, I didn't see an example for how to use it within the python script.
If you could explain how to use it that would be great!
Cheers
the example file example_PokemonSwSh_SurpriseTrade.py does not have the usage of touch function, can anyone give a brief introduction? that would help a lot.
simulate button press not working when game crash , cannot simulate button press
Unfortunately, the atmosphere logs don't say much, but this is on latest version 2.2 and happens on boot of any game. Please let me know how I can provide more information to assist.
01650036665_430000000000000b.log
After installing sys-botbase on the latest atmosphere and 10.0.1 it crashes when I run any game.
On the screen it shows me
Paninc occurred while running atmosphere.
Title ID: 010041544D530000
Error Desc: Std: :abort() (0xFFE)
Report saved to /atmosphere/fatal_error/report_0265b10f0.bin
I tried to upload the file here, it won't let me since github does not allow it.
error code 2021-0003 (0x615)
program: 43000000000000b
when launching atmosphere 1.3.0 pre-release
Peeking different addresses seems to return the same result -
Command : "peek 0xAC4723D0 160"
Result in string: 50EE469C1C000000C40AC0990200000031A2773EA6928FFE3D32B17B3AD08F54826DA39F000000000000000000000000000060A05500000000400000000000009429FC5202937D7FC8120A53D88E989E00000000000000000000000000000000004060A0550000000000C80300000000C0EE469C1C0000001810C0994900000003000000000000008008E699490000008600000000000000004060A055000000
Command : "peek 0xAC472318 160"
Result in string:
50EE469C1C000000C40AC0990200000031A2773EA6928FFE3D32B17B3AD08F54826DA39F000000000000000000000000000060A05500000000400000000000009429FC5202937D7FC8120A53D88E989E00000000000000000000000000000000004060A0550000000000C80300000000C0EE469C1C0000001810C0994900000003000000000000008008E699490000008600000000000000004060A055000000
However, changing the size will shift the poking addresses -
Command : "peek 0xAC4723D0 161"
Result in string: 08EF469C1C0000005037C2994900000050EE469C1C000000C40AC0990200000031A2773EA6928FFE3D32B17B3AD08F54826DA39F000000000000000000000000000060A05500000000400000000000009429FC5202937D7FC8120A53D88E989E00000000000000000000000000000000004060A0550000000000C80300000000C0EE469C1C0000001810C099490000000300000000000000A008E6994900000086
Command : "peek 0xAC472318 161"
Result in string:
08EF469C1C0000005037C2994900000050EE469C1C000000C40AC0990200000031A2773EA6928FFE3D32B17B3AD08F54826DA39F000000000000000000000000000060A05500000000400000000000009429FC5202937D7FC8120A53D88E989E00000000000000000000000000000000004060A0550000000000C80300000000C0EE469C1C0000001810C099490000000300000000000000A008E6994900000086
In fact, you can give random addresses to get the same result -
Command :peek 0x12345678 161
Result in string:
08EF469C1C0000005037C2994900000050EE469C1C000000C40AC0990200000031A2773EA6928FFE3D32B17B3AD08F54826DA39F000000000000000000000000000060A05500000000400000000000009429FC5202937D7FC8120A53D88E989E00000000000000000000000000000000004060A0550000000000C80300000000C0EE469C1C0000001810C0994900000003000000000000002009E6994900000086
Command :peek 0x12345678 161
Result in string:
08EF469C1C000000**5037C2994900000050EE469C1C000000C40AC0990200000031A2773EA6928FFE3D32B17B3AD08F54826DA39F000000000000000000000000000060A05500000000400000000000009429FC5202937D7FC8120A53D88E989E00000000000000000000000000000000004060A0550000000000C80300000000C0EE469C1C0000001810C0994900000003000000000000002009E6994900000086
Hi! I'm running atmosphere version 0.10.2 but don't appear to have this folder to put the nsp in, any ideas of why and how to solve this?
I get every time the same data out when I do a peek.
peek main
work without an error.
Also, I when I do a getHeapBase
I get a value.
EdiZon is detached, and I don't have any cheat files.
svcReadDebugProcessMemory: 54273
I'm getting this error code within 10 seconds of boot... I suspect it happens when my switch connects to the internet.
I have tried turning off all other sysmodules thru the tesla menu (I get a memory allocation error when I don't do this) and deleting sys-botbase and re-installing it. I have browsed around for other solutions and none of them have worked.
I'm running firmware v11.0.1 and atmosphere v0.18.1.
What should I do?
Hi,
I can't see documentation to emulate button press... You can help me? Wiki o example?
Using Switch version: 12.0.3|AMS M.19.4|S
Game: Monster Hunter Rise v3.0 (US)
Based on the demo python code for the Pokemon bot
import time
import binascii
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("192.168.1.56", 6000))
def sendAndGet(s, content):
content += '\r\n'
s.sendall(content.encode())
time.sleep(0.5)
get = s.recv(100)
print(get)
sendAndGet(s, "peek 0x0DB3D840 0x8")
sendAndGet(s, "peek 0x0DB3D850 0x8")
sendAndGet(s, "peek 0x12345678 0x8")
sendAndGet(s, "peek 0xFFFFFFFF 0x8")
sendAndGet(s, "peek 0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0x8")
Gives the output:
b'10ACE21D1E000000\n'
b'10ACE21D1E000000\n'
b'10ACE21D1E000000\n'
b'10ACE21D1E000000\n'
b'10ACE21D1E000000\n'
Each reboot the value will change, however every search remains the same
I figured this out the hard way and can’t use livehex or acnhpoker anymore.Solutions I tried but are ineffective are reinstalling both the program that will connect to sys-botbase and sys-botbase itself,I can’t find a solution anywhere because I’m probably the only one who thought the nsp was an installer.
Is there Any way that this SwitchControllerEmulator could be re-made to use with sys_botbase? cause that would be heckin' neat!
Specifically as a "drawing bot" for Animal Crossing New Horizons. that would somehow read either .acnh files from acpatterns editor, or even better read the "Paint By Letter" save options it has there.
Would be a pretty popular tool for sure!
how to install on firmware10.0.0 & atmosphere 0.11.1?
Hi, I have a problem with FailValidate, tried your provided tips in FAQ and Troubleshooting but the issue is still not solved, everything is updated.
=>If that fails, you can turn off validation in the settings and try reading RAM again and see if you get the correct inventory values.=Not working
=>If you have plugins loaded, are using cheats=Not working
=>If you have an offset error... =No Idea
(Actually, my first try was about 3-4 days ago and succeeded, but after I download and install a few tweaks I can not use it again, do I have to re-install fresh atmosphere?
Thanks
In the readme it states capture current screen and send it (only as shitty jpeg at this time)
, however, I cannot find an example on how to do it.
Can anyone give a brief introduction? that would help a lot.
There's a youtuber called BLAINES that used your code, put a discord bot on his server, and paywalled it so you can only use it if you "join" his youtube channel or become a twitch sub. Did you give him permission to do this?
Link to the video: https://youtu.be/cOO4kEeK_RU
When installing using Tinfoil or Goldleaf.
manually copied files to atmosphere folder, when launching the exefs.nsp I receive the same error.
I have updated Atmosphere, Tinfoil, and sigpatches.
It seems sys-botbase has some interesting issues involving 10.5 support.
did a short documentation here
https://gbatemp.net/threads/weird-issue-trying-to-make-use-of-sys-botbase.562286/
one thing i did forget to mention is that even the controller support portion is broken as well.
Hello,
Currently running atmosphere 0.10.5 with botbase 1.3 and latest commits to sysbot, however atmosphere experiences random crashes within an hour and occurs often. I have tried several fresh installs to atmos 0.10.5 and sys-botbase is the only sysmodule installed on the sd card. Prior to 0.10.5, had no crashes at all while running atmosphere 0.10.3.
I am attaching most recent crash log.
01585431031_430000000000000b.log
If you could please assist me in figuring out why my particular issue keeps occurring that would be greatly appreciated.
Why is the pre release of 211 still causing my Switch to crash as soon as I get to the home menu if it supports 14.0?
When installed on Atmosphere 0.13.0, opening hb apps crashes Atmosphere until sysbot files are removed from sd card.
I can't seem te get pixelPeek working. Am i doing something wrong?
import socket
import sys
import time
import binascii
def sendCommand(s, content):
print(content)
content += '\r\n' #important for the parser on the switch side
s.sendall(content.encode())
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("192.168.178.75", 6000))
sendCommand(s, 'pixelPeek')
res = s.recv(512000)
print(sys.getsizeof(res))
f = open('test.jpeg', 'wb')
f.write(res)
f.close()
As the title states, having the ability to give NFC data to the sysbot for it to scan the nfc data on the switch.
https://github.com/Atmosphere-NX/Atmosphere/releases/tag/0.13.0
Please note: this is (unavoidably) a breaking change. System modules using atmosphere-libs will need to update to understand what firmware version they are running.
Anyone else having issues with running sys-botbase on the latest version of atmosphere? It seems to work fine on 0.14.4, but on 0.15.0, atmosphere crashes once I hit the switch home menu.
Any idea what might be causing the crash? My switch is currently on 10.2.0.
when i added the sysbot atmosphere crashes immediately after opening. also animal crossing crashes as well.
Hi, I installed sys-botbase a moment ago, and immediately went to local play on ACNH. Sometimes I will get a communication error but otherwise it just says no islands can be found. The gate will open, but the other person also gets no islands can be found.
Wifi stays connected through it even though it says it is disconnecting from wireless.
If I manually turn off wifi through airplane mode the issue persists.
Maybe not something that can be fixed - but it is something I wanted to bring attention to.
Thanks :)
While attempting to make
, I get error: unknown type name 'HidControllerKeys'
caused by libnx having deprecated and removed HidControllerKeys.
See this commit
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.