Insert or update value on table where values can be repeated multiple times

Previously I was using the following table:

CREATE TABLE Users(user BIGINT PRIMARY KEY,                     item_count INT); 

which allowed me to do a simple upsert:

INSERT INTO Users(user, item_count)  VALUES($  1, $  2)  ON CONFLICT(user) DO  UPDATE SET item_cout = user.item_count + 1; 

However I want to switch my table to have more columns so each user have a different item_count per server so I did:

CREATE TABLE Users(id SERIAL PRIMARY KEY,                     server BIGINT NOT NULL,                      user BIGINT NOT NULL,                      item_count INT); 

However I’m not allowed to do an ON CONFLICT anymore in this case because neither server nor user are unique, and they can be repeated throughout the table for example:

id  server  user  item_count 1        1    1           95 2        2    1          345 3        1    2          594 4        3    1            0 

Is there any way to do an upsert with the second table instead of separating the query into two statements? (one for insert if not exists and one for updating)