2016/08/26

Pokemon GO 有很完整的社群開發論壇及完整的 API code

pokemon go 有很完整的社群開發論壇及完整的 API code,真是令人驚豔..
https://www.reddit.com/r/pokemongodev/ 不論原生公司喜不喜歡,在 github 上面一堆延伸開發的專案,且目前更新都很頻繁,大概三天就出一個版本了...

一開始是想要參考別人 API 怎麼寫的!!!
沒想到先看到 pokemon api , 各種版本都有, 少說有 6 種以上語言支持。
PoMG API by python 2.7
https://github.com/PokeAPI/pokeapi
https://pokeapi.co/docsv2/

然後就研究了一些 bot 在作啥麼....XDXD


-------
pokemon go 預測雷達, 很準.
有神獸出現時只要看 Found By Trainer: (Poke Radar Prediction) 才抓,其餘都是玩家來亂的。
https://www.pokemonradargo.com/

上面這個可能樹大招風,所以有時後會關閉服務或不正常。可以使用。

https://pkget.com/  大家找寶貝

-------
PokeMon GO 進化計算機, 及 pokemon 介紹. 哪些是神獸也可以參考這裡。
https://pokemon.gameinfo.io/tools/evolution-calculator?hl=zh_TW

-------
pokemon go 官方的 PTC 帳號註冊(Pokemon Trainer Club)
https://club.pokemon.com/us/pokemon-trainer-club/sign-up/
可以註冊一個免洗帳號,避免 google account 外流的風險。
因為他的 google  登入需要填入你的 gmaill 帳密,這很有外流的風險。

-------
很紅的 bot NecroBot , C# console for win
-------
最初的的 NecroBot 版本, 被自殺了。 https://github.com/NecronomiconCoding

but 他有被 fork ..XDXD  --> NecroBot Forked v0.9.6
https://github.com/NoxxDev/NecroBot/releases XDXD it goodjob


關於 necrobot 的設定可以參考這一篇:
http://apk.tw/thread-799962-1-1.html

北投公園座標
"DefaultLatitude": 25.136524,
"DefaultLongitude": 121.506284,
"MaxTravelDistanceInMeters": 250

新竹南寮漁港座標
"DefaultLatitude": 24.849289,
"DefaultLongitude": 120.926836,
"MaxTravelDistanceInMeters": 800


-------
necrobotvisualizer 需要搭配 Necrobot 的 GUI  for win
-------
Necrobot / MobBot Visualizer  圖形界面, 吃 NecroBot 的 websocket, 需要搭配 necrobot 跑
https://github.com/nicoschmitt/necrobotvisualizer
圖形界面,用 openstreet 當圖資。可以讓使用者指定走的方向(但不太容易操控),路過 pokestop 及 pokemon 會自動抓

再 windows 下執行,一開始要設定,設定完後如果把 config.json 改一下
把 config.json 的 "UseWebsocket": 改為 true 就可以支援 necrobotvisualizer
  "WebsocketsConfig": {
    "UseWebsocket": true,
    "WebSocketPort": 14251
  },

------------------
基於 Necrobot 的 gui BOT  for win
------------------
necrobot GUI 界面 , 結合 GUI 及 Necrobot 在一起。很詳細的工具。
但是 config.json 及 auth.json  需要自己設定。這會有點難度。
https://github.com/vandernorth/NecroBot.GUI/releases
設定值預設會把你的重複神奇寶貝交換光光....

-------
優先推薦的 bot,這個比較簡單. 可以快速上手.
-------
https://github.com/Ar1i/PokemonGo-Bot/tree/master/Builds-Only
C# 寫的,需要安裝 .net 4.6 以上才可以跑
執行 PokemonGo.RocketAPI.Console.exe 就可以跑.
走路的方法為決定時速(建議4~6)及方圓幾公尺,的範圍為自動搜尋範圍。以地圖方式指定。
帳號建議到 PTC 申請,不要使用預設的 google account 避免被盜帳號。

如果有 google map API key ,可以走道路不會亂走,
裡面有很多細項的參數,例如隨機速度 max and min ,間隔休息,
還有很多 pokemon 的管理、升級、進化等功能都可以操作, IV 值也可以線上直接看。
google map key 可以到 https://console.developers.google.com 申請一個, server key 就可以用了, 如不申請也是可以用的。各位可以試試看巴。

Console 視窗為顯示 log , 圖形界面為 pokemon 管理
延伸:使用 Proxy Server 掛多個 bot 


--------
PokemonGo-DesktopMap for win
--------
PokemonGo-DesktopMap , 需要申請一個 browser map api 給它用
可以顯示 pokestop 及 道館 , 還有沒有撒花都看得出來。但就是只有看而已。
https://github.com/mchristopher/PokemonGo-DesktopMap/releases



--------
Catchem-PoGo for win
--------
這個大概是目前做的最好的 bot ,可以支援多組設定檔,及更多的設定細節。
可以自動走路的路徑,人性化的參數。且支援多個圖資  API ,還可以透過  Telegram bot 來控制 bot .....天呀!太強大了!!!!!
官方網站: https://github.com/Lunat1q/Catchem-PoGo/releases



TIP:
-------
1. 在高雄的話,美術館,是個很棒的起點。 GPS地標: 22.655, 120.284
2. 等級練到 20 後,觀看 IV 值再來決定升 powerup 及 進化 evolvable 的順序。
3. 使用 bot 很容易被鎖帳號,所以還是出去走走巴,鍵盤訓練師是無法道館對戰的。
4. 容易被 ban 的行為: 在同一個 IP 執行超過一個程序,會被 banned 。但是換個 IP 就可以,過段時間也就會放這個 ip 出來,可以透過 proxy 服務來避開。不要很快時間的切換帳號在同一個  IP 上面,否則也是被 banned 。
5. 飛人的行為,我感覺沒那麼好抓。我猜可以是資料量太大,官方對於太小移動,或是頻率不高的飛人不好判斷,所以不會那樣快抓到。
6. 不要連續使用 bot 超過 24HR 那一定會出問題,另外不要用 google account 掛 bot ,可能讓你的 google account 被盜帳號。然後不要長時間移動太快, 例如平均 50KM/HR 的行走不間斷。




Pokemon GO in Linux
---------------------------------
至於 Linux 勒,請自行參考....
https://github.com/mchristopher/PokemonGo-DesktopMap
http://blog.pokemongofun.com/resolved-encrypt-so-is-not-found-please-place-it-in-the-bots-root-directory/



2016.9.4  last update

2016/08/24

pgadmin install in Linux Mint 17.3 ROSA

pgadmin install in Linux Mint 17.3 ROSA



bash <(cat /etc/os-release; echo 'echo ${VERSION/*, /}') | head -n1 | awk '{print "deb http://apt.postgresql.org/pub/repos/apt/",tolower($1)"-pgdg main";}' > /etc/apt/sources.list.d/pgdg.list
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

sudo apt-get update

sudo apt-get install pgadmin3

三行就搞定了,去選單找找看 pgadmin 就升級為 1.21 了。


REF:
http://technobytz.com/how-to-install-postgresql-9-4-in-ubuntu-linux-mint.html

2016/08/20

How disable the touchpad in Linux MINT (暫時關掉觸控板的功能)

用了 NB 最麻煩的就是手滑,不小心摸到觸控板。
找了一下,暫時關閉的方式。



使用 root 權限 , 執行 xinput lst 觀看目前系統上的輸入裝置 id 值

BarkleyMT ~ # xinput list
⎡ Virtual core pointer                     id=2 [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer               id=4 [slave  pointer  (2)]
⎜   ↳ PixArt USB Optical Mouse                 id=11 [slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech Touchpad                 id=14 [slave  pointer  (2)]
⎣ Virtual core keyboard                   id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard             id=5 [slave  keyboard (3)]
    ↳ Power Button                             id=6 [slave  keyboard (3)]
    ↳ Video Bus                               id=7 [slave  keyboard (3)]
    ↳ Video Bus                               id=8 [slave  keyboard (3)]
    ↳ Power Button                             id=9 [slave  keyboard (3)]
    ↳ Sleep Button                             id=10 [slave  keyboard (3)]
    ↳ Integrated_Webcam_HD                     id=12 [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard             id=13 [slave  keyboard (3)]
    ↳ Dell WMI hotkeys                         id=15 [slave  keyboard (3)]
    ↳ DELL Wireless hotkeys                   id=16 [slave  keyboard (3)]


# 關閉觸控版, ID=14
BarkleyMT ~ # xinput set-prop 14 "Device Enabled" 1

# 打開觸控版 ID=14
BarkleyMT ~ # xinput set-prop 14 "Device Enabled" 0

比 Windows 簡單多了!!!




REF:
https://ask.fedoraproject.org/en/question/7485/how-disable-the-touchpad/  Fedora 的關法
http://www.dell.com/support/article/us/en/19/SLN128938/en#Issue4 DELL上面的 Windows 版本關掉方式

2016/08/03

Linux ubuntu 的 soft raid 1 及 LVM 磁區的資料救援

圖不相關於此文


這幾天停電,發生剛好有一台老 server power 卦掉了。
想說就順便把資料轉移到新的機器上面, 他在還沒死掉前使用的是 ubuntu linux 系統
硬碟使用 soft raid 1 的架構。

硬碟我使用 usb 硬碟外接座,把裝置接到系統上面。可以使用 blkid 看看裝置代號。

epost mnt # blkid 
/dev/sda1: UUID="96d81952-2c1b-4963-98e7-b203f0197686" TYPE="ext4" 
/dev/sda5: UUID="8987b099-e672-4486-ae9c-7ccb12264b7f" TYPE="swap" 
/dev/sdb1: UUID="08cd466a-fdd1-43ea-9f4d-97d12fbed8ae" TYPE="ext4" 
/dev/sde1: UUID="6f575859-37a1-ff61-530b-09d8a1b789b6" UUID_SUB="c601821d-4bf7-0728-83ae-682c29864775" LABEL="bm:0" TYPE="linux_raid_member" 

* 可以看到 type 為 linux_raid_member 的 type 型態,可以使用 mdadm 指令,把這裝置賦予到一個 raid 裝置。

mdadm --assemble --run /dev/md3 /dev/sde1

* 然後再用 mount 將它掛載到目錄就可以存取。
* 但是發現檔案系統竟然是 LVM2_member 的檔案架構, 所以需要用 LVM 的方式操作它。

epost mnt # mount /dev/md3 /mnt/sde
mount: unknown filesystem type 'LVM2_member'

* 看看這個系統的分割區, 是不是有其他裝置。結果竟然全部都沒有合法的分割表。
epost mnt # fdisk /dev/md3 -l

Disk /dev/md3: 1000.2 GB, 1000201904128 bytes
2 heads, 4 sectors/track, 244189918 cylinders, total 1953519344 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/md3 doesn't contain a valid partition table

* 使用  lvmdiskscan 掃描一下系統的裝置
epost mnt # lvmdiskscan 
  /dev/ram0         [      64.00 MiB] 
  /dev/vg-root/root [     931.51 GiB] 
  /dev/ram1         [      64.00 MiB] 
  /dev/sda1         [     461.87 GiB] 
  /dev/ram2         [      64.00 MiB] 
  /dev/ram3         [      64.00 MiB] 
  /dev/md3          [     931.51 GiB] LVM physical volume
  /dev/ram4         [      64.00 MiB] 
  /dev/ram5         [      64.00 MiB] 
  /dev/sda5         [       3.89 GiB] 
  /dev/ram6         [      64.00 MiB] 
  /dev/ram7         [      64.00 MiB] 
  /dev/ram8         [      64.00 MiB] 
  /dev/ram9         [      64.00 MiB] 
  /dev/ram10        [      64.00 MiB] 
  /dev/ram11        [      64.00 MiB] 
  /dev/ram12        [      64.00 MiB] 
  /dev/ram13        [      64.00 MiB] 
  /dev/ram14        [      64.00 MiB] 
  /dev/ram15        [      64.00 MiB] 
  /dev/sdb1         [     465.76 GiB] 
  1 disk
  19 partitions
  0 LVM physical volume whole disks
  1 LVM physical volume

* 用 lvdisplay 觀看系統內的 logical volume 分割表
  epost mnt # lvdisplay 
  --- Logical volume ---
  LV Path                /dev/vg-root/root
  LV Name                root
  VG Name                vg-root
  LV UUID                WWG1Yp-qoIs-HjVd-nJlE-v8H0-PVz1-YvG151
  LV Write Access        read/write
  LV Creation host, time , 
  LV Status              available
  # open                 0
  LV Size                931.51 GiB
  Current LE             238466
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0


* 掃描一下 , lvm 到底掛載那個表上。 看來 /dev/vg-root/root 是可以使用的裝置代碼
epost mnt # lvscan 
  ACTIVE            '/dev/vg-root/root' [931.51 GiB] inherit

* 所以把這個裝置,掛載到目錄 /mnt/sde/ 使用。就可以把資料挖回來了
mount /dev/vg-root/root /mnt/sde


ref: http://cms.35g.tw/coding/synology-unknown-filesystem-type-linux_raid_member/
ref: http://pissedoffadmins.com/os/mount-unknown-filesystem-type-lvm2_member.html